2 回答

TA貢獻1805條經(jīng)驗 獲得超9個贊
不,目前無法從 pubsub 觸發(fā)的事件中獲取執(zhí)行 ID。
正如勞倫所說,您可以從上下文中獲取事件 ID,但這與執(zhí)行 ID 不匹配。
此外,pubsub 觸發(fā)的事件確實有執(zhí)行 ID。您可以通過使用默認記錄器記錄事件 ID 來查看這一點。在 stackdriver 中會有一個附加的執(zhí)行 ID 標簽,它不會與事件 ID 匹配。我們觀察到事件 ID 是數(shù)字,而執(zhí)行 ID 是字母數(shù)字。
此外,如果重試該函數(shù),它將保留相同的事件 ID,但會獲得不同的執(zhí)行 ID。
這是最近的(未記錄的)更改,但可以很容易地觀察到。

TA貢獻1836條經(jīng)驗 獲得超13個贊
這似乎不再準確。
Pub/Sub 觸發(fā)的事件沒有執(zhí)行 ID;相反,它包含EventID在上下文元數(shù)據(jù)中,這是事件的唯一 ID。
您可以按EventID以下方式訪問:
import (
? ? "context"
? ? "log"
? ? "cloud.google.com/go/functions/metadata"
)
func F(ctx context.Context, m PubSubMessage) error {
? ? ctxMetadata, err := metadata.FromContext(ctx)
? ? if err != nil {
? ? ? ? log.Fatal(err);
? ? }
? ? log.Println("EventID: " + ctxMetadata.EventID)
? ? return nil
}
- 2 回答
- 0 關(guān)注
- 161 瀏覽
添加回答
舉報