Google PubSub 排序密钥问题,未启用消息排序
Posted
技术标签:
【中文标题】Google PubSub 排序密钥问题,未启用消息排序【英文标题】:Google PubSub ordering key issue, message ordering not enabled 【发布时间】:2021-12-05 15:12:11 【问题描述】:我在将 google cloud pubsub 消息发布到启用排序的订阅时遇到问题。
我有一个 pubsub 主题:test_order_topic
,带有消息排序的推送订阅:已启用 (enableMessageOrdering: true
)。
但是当使用 python Google Cloud 函数发布到这个主题时:
publisher.publish(
'projects/project_id/topics/test_order_pubsub',
json.dumps( "index": len(WORDS) ).encode('utf-8'),
ordering_key='key1'
)
我收到以下错误:
当未启用消息排序时,无法发布带有排序键的消息。
test_order_pubsub
没有其他订阅
您能帮忙解决这个问题吗?谢谢!
【问题讨论】:
【参考方案1】:使用 Cloud Pub/Sub 客户端库发布时,需要在客户端库中启用排序功能。这可确保客户端库正确地按顺序排列消息。为此,请在PublisherOptions
中设置enable_message_ordering
属性:
from google.cloud import pubsub_v1
publisher_client = pubsub_v1.PublisherClient(
publisher_options = pubsub_v1.types.PublisherOptions(
enable_message_ordering=True,
)
)
【讨论】:
非常感谢!我应该得到一个 RTFM :D 谢谢!以上是关于Google PubSub 排序密钥问题,未启用消息排序的主要内容,如果未能解决你的问题,请参考以下文章
Firebase Pub Sub Emulator 未收到消息
Google Cloud Platform:无法从 Container Engine 访问 Pubsub
Google pubsub 死字在 golang 中不起作用