Google PubSub 排序密钥问题,未启用消息排序

Google PubSub ordering key issue, message ordering not enabled

我在向启用排序的订阅发布 google 云 pubsub 消息时遇到问题。

我有一个 pubsub 主题:test_order_topic 带有消息排序的推送订阅:已启用 (enableMessageOrdering: true)。

但是当使用 python Google 云功能发布到此主题时:

publisher.publish(
   'projects/project_id/topics/test_order_pubsub',
   json.dumps({ "index": len(WORDS) }).encode('utf-8'),
   ordering_key='key1'
)

我收到以下错误:

Cannot publish a message with an ordering key when message ordering is not enabled.

test_order_pubsub没有其他订阅

你能帮忙解决这个问题吗?谢谢!

使用云 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,
    )
)