Отправка JSON событий в Azure Event Hub с помощью программы Python - PullRequest
1 голос
/ 20 января 2020

Новичок ie до Azure Потоковая аналитика. Я отправляю события в Azure Event Hub с нижеуказанной программой Python, сериализуя респон \ данные в формат JSON, чтобы его можно было прочитать с помощью ввода задания Stream Analytics. Однако что-то либо не так, либо отсутствует, из-за чего я не могу просмотреть тестовые данные в задании Stream Analytics.

import asyncio
import time
import requests
import json
from azure.eventhub.aio import EventHubProducerClient
from azure.eventhub import EventData

connection_str = 'XXX'
consumer_group = 'XXX'
eventhub_name = 'XXX'

async def run():
    # create a producer client to send messages to the event hub
    # specify connection string to your event hubs namespace and
    # the event hub name
    producer = EventHubProducerClient.from_connection_string(connection_str, consumer_group=consumer_group, eventhub_name=eventhub_name)

    async with producer:
        # create a batch        
        event_data_batch = await producer.create_batch(partition_id='1')

        while True:
            # add events to the batch
            response = requests.get("https://jsonplaceholder.typicode.com/todos/1")

            data = json.loads(response.text)        

            event_data_batch.add(EventData(data))

            time.sleep(5)

            # send the batch of events to the event hub
            await producer.send_batch(event_data_batch)

loop = asyncio.get_event_loop()
loop.run_until_complete(run()) 
...