Я создаю крошечную облачную функцию GCP в Голанге, которая возвращает сгенерированный файл PNG при вызове его через HTTP.Я развернул свой код с помощью ZIP-Upload в Google Cloud Console.В настоящее время он вызывается правильно, код компилируется и т. Д. Но в моем коде мне нужно загрузить несколько локальных файлов - шрифт и изображение .png.Я упаковал их в ZIP-файл, который я загрузил, и файлы видны в Source-View в GCP.Все файлы (изображения, шрифты и go-файлы) находятся в одном каталоге.
При вызове облачной функции журнал сообщает следующее:
2019/01/21 14:59:31 open /english.png: no such file or directory
Я пытался изменить способ, которым япостроить путь к файлу в го.Я уже использовал /german.png статически, несколько раз пытался построить путь динамически.
Я не уверен на 100%, так ли это, но это мой первый эксперимент с "serverless" иЯ готов сделать это «правильным» способом.
import "github.com/fogleman/gg"
func main() {
ex, err := os.Executable()
if err != nil {
panic(err)
}
executableDir := filepath.Dir(ex)
img, err :=gg.LoadPNG(path.Join(executableDir, "./english.png"))
if err != nil {
log.Fatal(err)
}
}
В настоящее время файл не может быть найден ни при одной попытке, которую я предпринял.Возможно, путь, по которому «развертываются» образы, отличается от того, который я пробовал - я не нашел никаких примечаний по этому поводу в документации.Я, очевидно, ожидал, что он будет загружен правильно.