对于从 HTTP 触发的 Google Cloud Functions,可以通过检查 HTTP 请求 ( "Function-Execution-Id") 的标头来检索执行 ID:
package p
import (
"fmt"
"net/http"
)
func F(w http.ResponseWriter, r *http.Request) {
executionID := r.Header.Get("Function-Execution-Id")
fmt.Println(executionID)
}
但是,对于由 PubSub 事件触发的 GCF,我找不到如何检索此执行 ID:
package p
import (
"context"
)
type PubSubMessage struct {
Data []byte `json:"data"`
}
func F(ctx context.Context, m PubSubMessage) error {
executionID := "" // ???
fmt.Println(executionID)
return nil
}
我查看了PubSubMessage( https://cloud.google.com/pubsub/docs/reference/rest/v1/PubsubMessage ),但它只包含data一个空attributes地图。
我还检查了执行 ID 是否在metadata上下文处理中。但是,根据我的测试和文档 ( https://godoc.org/cloud.google.com/go/functions/metadata#FromContext ),只有EventID,Timestamp和存在。EventTypeResource
如何检索由 PubSub 事件触发的 GCF 函数的执行 ID?
Cats萌萌
开心每一天1111
相关分类