Как прочитать все сообщения из Azure Service Bus topi c, используя Python? - PullRequest
0 голосов
/ 10 февраля 2020

Я хочу прочитать все сообщения из azure служебной шины, используя python. В настоящее время он получает только одно сообщение.

from azure.servicebus.control_client import ServiceBusService, Message, Topic, Rule, DEFAULT_RULE_NAME

    bus_service = ServiceBusService(
        service_namespace='<NameSpace>',
        shared_access_key_name='<KeyName>',
        shared_access_key_value='<ConnectionString>')

msg = bus_service.receive_subscription_message('topic', 'msglist', peek_lock=True)
print(msg.body)

Как я могу получить все сообщения оптом от topi c с python 3

1 Ответ

0 голосов
/ 18 февраля 2020

Это возможно при использовании объекта Receiver, который поддерживает пакетные операции. См. этот пример , в котором показано, как получить этот объект для подписки.

Чтобы гарантировать получение пакетов сообщений, необходимо установить аргумент prefetch для get_receiver() к размеру вашей партии и, следовательно, max_batch_size аргумент fetch_next() к тому же.

...