GCP Pub/Sub推送订阅是否支持自定义属性?
GCP Pub/Sub推送订阅自定义属性获取说明
你的结论不正确,Pub/Sub推送订阅完全支持传递自定义属性,只是你找的位置不对。
- 自定义属性不会出现在HTTP请求头里,而是包含在推送请求体的
message.attributes字段中。 - 如果你用官方SDK反序列化
pubsub.Message,需要确保正确解析层级:消息的属性嵌套在message对象下的attributes字典里,而非直接在顶层pubsub.Message的根属性中。 - 举个Python环境下的示例:
解析请求体获取自定义属性:# 从Cloud Run的HTTP请求中获取JSON体 pubsub_payload = request.get_json() # 提取自定义属性 custom_attributes = pubsub_payload["message"]["attributes"] # 访问具体属性值 custom_value = custom_attributes.get("your-custom-key") - 同时要确认发布端确实正确添加了自定义属性,比如发布代码示例:
from google.cloud import pubsub_v1 publisher = pubsub_v1.PublisherClient() topic_path = publisher.topic_path("your-project-id", "your-topic-id") # 消息内容 data = b"test message content" # 附带自定义属性发布 publisher.publish(topic_path, data, user_id="123", event_type="update")
内容的提问来源于stack exchange,提问作者Nick
相关产品推荐
相关产品推荐

