gpt4 book ai didi

go - 如何在 GCP 云功能中加载本地 Assets ?

转载 作者:IT王子 更新时间:2023-10-29 01:40:39 28 4
gpt4 key购买 nike

我正在 Golang 中构建一个微型 GCP 云函数,它在通过 HTTP 调用时返回生成的 PNG 文件。我在 Google Cloud Console 中通过 ZIP-Upload 部署了我的代码。目前它被正确调用并且代码被编译等。但是在我的代码中我必须加载几个本地文件 - 一个字体和一个 .png 图像。我将它们捆绑在我上传的 ZIP 中,这些文件在 GCP 的源 View 中可见。所有文件(图像、字体和 go 文件)都在同一目录中。

当调用云函数时,日志说明如下:

2019/01/21 14:59:31 open /english.png: no such file or directory

我试图改变在 go 中构建文件路径的方式。我已经静态地使用了/german.png,并多次尝试动态构建路径。

我不是 100% 确定这是否是要走的路,但这是我第一次尝试“无服务器”,我愿意以“正确”的方式完成它。

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)
}
}

目前在我所做的任何尝试中都找不到该文件。也许图像“部署”到的路径与我尝试过的路径不同——我没有在文档中找到任何关于此的注释。我显然希望它能正确加载。

最佳答案

对于根据 documentation 的 Go 1.13 ,截至今天(2020 年 7 月),源代码位于 ./serverless_function_source_code 目录中。

一个很好的引用是 buildpack .

关于go - 如何在 GCP 云功能中加载本地 Assets ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54293314/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com