# #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 😀 Спасибо!