Как обрабатывать сообщения Json из EventHub с помощью Python SDK? - PullRequest
0 голосов
/ 21 сентября 2018

Я следую этому примеру, чтобы обработать сообщения, полученные из концентратора событий:

https://github.com/Azure/azure-event-hubs-python/blob/master/examples/eph.py

Но код показывает какой-либо код о том, как извлечь каждое сообщение и добраться доПолезная нагрузка Json?

Я пробовал следующий код (используя Python SDK для Event Hub):

async def process_events_async(self, context, messages):
"""
Called by the processor host when a batch of events has arrived.
This is where the real work of the event processor is done.
:param context: Information about the partition
:type context: ~azure.eventprocessorhost.PartitionContext
:param messages: The events to be processed.
:type messages: list[~azure.eventhub.common.EventData]
"""
    for message in messages:
        message_content = json.loads(message.body)

    logger.info("Events processed {}".format(context.sequence_number))
    await context.checkpoint_async()

Но я получаю следующее сообщение об ошибке в операторе, содержащем json.loads:

"2018-09-20 23: 13: 12,484 azure ERROR Ошибка обработчика событий TypeError (« объект JSON должен быть str, байтами или байтовым массивом, а не 'generator' ",)"

Можете ли вы помочь мне с кодом, чтобы получить полезную нагрузку Json сообщения?

1 Ответ

0 голосов
/ 23 сентября 2018

Это рабочий код для получения полезной нагрузки JSON сообщений концентратора событий:

for message in messages:
    message_body = list(message.body)
    message_content = json.loads(message_body[0])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...