I am receiving JSON data in event hub.
Once a day I want to read this data from event hub and store it in a database. In order to read the data from event hub I am following this documentation: https://docs.microsoft.com/en-us/python/api/overview/azure/eventhub-readme?view=azure-python
I am able to print all the events that I have in my event hub, but I don't know how to get these events and return a pandas dataframe outside of this function.
I have tried this:
def on_event_batch(partition_context, events):
final_dataframe = pd.DataFrame()
print("Received event from partition {}".format(partition_context.partition_id))
for event in events:
body = json.loads(next(event.body).decode('UTF-8'))
event_df = pd.DataFrame(body,index = [0])
final_dataframe = pd.concat([final_dataframe,event_df],ignore_index= True)
partition_context.update_checkpoint()
client.close()
print(final_dataframe)
return final_dataframe
with client:
final_dataframe = client.receive_batch(
on_event_batch=on_event_batch,
starting_position="-1", # "-1" is from the beginning of the partition.
)
# receive events from specified partition:
# client.receive_batch(on_event_batch=on_event_batch, partition_id='0')
but it is not working.