You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何简单打印原始JSON字符串,查看GKE PubSub消息的完整结构?

问题原因

你当前定义的PubSubMessage结构体仅声明了Data字段,Pub/Sub消息自带的Attributes等其余字段会在反序列化时被忽略,无法输出完整结构。

解决代码

修改后的完整Go云函数代码如下:

// Package p contains a Pub/Sub Cloud Function.
package p

import (
    "context"
    "encoding/json"
    "log"
)

// PubSubMessage 是Pub/Sub事件的完整载荷结构
type PubSubMessage struct {
    Data       []byte            `json:"data"`
    Attributes map[string]string `json:"attributes"` // 对应你关注的attributes字段
    // 如需消息ID、发布时间等其他顶层字段,可在此处补充对应定义即可
}

// HelloPubSub 消费Pub/Sub消息
func HelloPubSub(ctx context.Context, m PubSubMessage) error {
    // 可选1:分别打印两个核心字段
    log.Println("Data字段内容:", string(m.Data))
    log.Println("Attributes字段内容:", m.Attributes)
    
    // 可选2:直接输出格式化后的完整JSON结构,方便查看全量内容
    fullMsg, err := json.MarshalIndent(m, "", "  ")
    if err != nil {
        log.Printf("消息序列化失败: %v", err)
        return err
    }
    log.Println("完整Pub/Sub消息结构:\n", string(fullMsg))
    return nil
}

效果说明

部署上述代码后触发云函数,即可在Cloud Logging中查看完整的消息内容,包含你需要的attributes字段和data字段的全部信息。


内容的提问来源于stack exchange,提问作者user3056541

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 17:48:04