为了账号安全,请及时绑定邮箱和手机立即绑定

谷歌云函数默认环境变量未设置

谷歌云函数默认环境变量未设置

Go
饮歌长啸 2022-06-06 16:04:58
在谷歌云功能上设置的默认环境变量是否有任何条件?我有以下代码:func init() {    projectID := os.Getenv("GCP_PROJECT")    log.Printf("projectID: %s\n", projectID)    functionName := os.Getenv("FUNCTION_NAME")    log.Printf("functoinName: %s\n", functionName)    region := os.Getenv("FUNCTION_REGION")    log.Printf("region: %s\n", region)}并且值为空。即使我这样做:func GameUpdate(ctx context.Context, e FirestoreEvent) error {    functionName := os.Getenv("FUNCTION_NAME")    log.Printf("functoinName: %s\n", functionName)}他们仍然是空的。根据文档,我希望它们被设置并可用。但他们不是:|编辑:我使用 go 1.13 作为运行时,正如Armatorix提到的,这些环境变量在该运行时不可用......为什么我需要它们是编写一个包装器以便cloud.google.com/go/logging 能够标记日志的严重性。我最终在我的标准输出日志前面加上[INFO]/ [ERROR],并从中创建了一个标签\[([A-Z]+)\].*。好处是我不必在我的函数中进行网络调用来发送日志。仍然令人失望的是这些环境变量不可用。
查看完整描述

3 回答

?
动漫人物

TA贡献1815条经验 获得超10个赞

所以我已经阅读了相同的文档。 在这里,您获得了与 go1.11 类似的信息(并且它有效,我对其进行了测试)。但是对于 go1.13,这些都没有设置。您仍然可以手动操作。我还检查了在 1.13 版本上设置了哪些环境。


来自 os.Envrion()


PATH=/layers/google.go.build/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

FUNCTION_SIGNATURE_TYPE=http

DEBIAN_FRONTEND=noninteractive

HOME=/root

K_REVISION=9

FUNCTION_TARGET=HelloWorld

PORT=8080

GOROOT=/usr/local/go/

CGO_ENABLED=1

PWD=/srv

K_SERVICE=function-1

所以你可能想要使用的环境是K_SERVICE


查看完整回答
反对 回复 2022-06-06
?
慕容森

TA贡献1853条经验 获得超18个赞

我代表您创建了一个功能请求,以便云功能工程团队将这些环境变量的自动设置实施到较新的运行时版本,例如 Node.js 10 和 Go1.13。

您可以为该问题“加注星标”以使其可见,并将您自己包含在“CC”部分中,以便接收在此线程上发布的进一步更新。

我希望这有帮助。


查看完整回答
反对 回复 2022-06-06
?
一只斗牛犬

TA贡献1784条经验 获得超2个赞

我为此目的创建了一个库: github.com/ncruces/go-gcf/logging


但是你是对的,在 Go 1.13 运行时,这些环境变量是缺失的。在迁移指南中,他们建议在部署时设置它们。


后来我发现推荐的方法是使用结构化日志。


// Structured logging can be used to set severity levels.

// See https://cloud.google.com/logging/docs/structured-logging.

fmt.Println(`{"message": "This has ERROR severity", "severity": "error"}`)

所以现在,我正在“弃用”我的库,并使用更简单的方法创建一个新库: github.com/ncruces/go-gcp/glog


这很简单,实际上并不需要库,但它有助于正确地 JSON 转义消息。


查看完整回答
反对 回复 2022-06-06
  • 3 回答
  • 0 关注
  • 194 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号