Ключевая проблема заказа Google PubSub, заказ сообщений не включен

# #google-cloud-platform #google-cloud-functions #google-cloud-pubsub

Вопрос:

Я столкнулся с проблемой при публикации сообщения google cloud pubsub в подписке с включенным заказом.

У меня есть тема pubsub : test_order_topic с push-подпиской с заказом сообщений : Включено ( 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:

При использовании облачных клиентских библиотек Pub/Sub для публикации необходимо включить заказ в клиентской библиотеке. Это гарантирует, что клиентская библиотека правильно выстраивает сообщения в очередь. Для этого установите enable_message_ordering свойство в PublisherOptions :

 from google.cloud import pubsub_v1  publisher_client = pubsub_v1.PublisherClient(  publisher_options = pubsub_v1.types.PublisherOptions(  enable_message_ordering=True,  ) )  

Комментарии:

1. Большое спасибо! Я заслужил RTFM 😀 Спасибо!