Create an Event Publisher to an EventHub
import time
import os
import uuid
import datetime
import random
import json
import pytz
from azure.eventhub import EventHubProducerClient, EventData
# This script simulates the production of events for 10 devices.
devices= [
"20100",
"20101",
"20102"
];
# Create a producer client to produce and publish events to the event hub.
#crete data
data = [
{"seqn":"1645599504046","device-id":devices[0],"barometer-pressure":"9","temperature":"0","heart-rate":"0","Strap-id":"","timestamp":"1645599504046","postTimestamp":"1645599504046.055","accelerometer_x":"36","accelerometer_y":"50","accelerometer_z":"46","gyroscope":[{"accelerometer_y":"6","gyroscope_y":"10","gyroscope_z":"8"},{"accelerometer_y":"16","gyroscope_y":"110","gyroscope_z":"18"}],"magnetometer_x":"2","magnetometer_y":"2","magnetometer_z":"2","gps_lat":"44.08829103300471","gps_lng":"12.580542879068743","gps_speed":"21.404747429299395","gps_elevation":"1480.0408033714582","sensors_power":"99","sensors_cadence":"90","sensors_speed":"9","__data_operation_flag":"c","__source_name":"DebeziumDemo.VelonDeviceData","__header_ingestion_ts":"2022-02-23T06:58:33.883Z"},
{"seqn":"1645599504047","device-id":devices[1],"barometer-pressure":"9","temperature":"26","heart-rate":"66","Strap-id":"","timestamp":"1645599504046","postTimestamp":"1645599504046.055","accelerometer_x":"37","accelerometer_y":"50","accelerometer_z":"46","gyroscope":[{"accelerometer_y":"6","gyroscope_y":"10","gyroscope_z":"8"},{"accelerometer_y":"16","gyroscope_y":"110","gyroscope_z":"18"}],"magnetometer_x":"2","magnetometer_y":"2","magnetometer_z":"2","gps_lat":"44.08829103300471","gps_lng":"12.580542879068743","gps_speed":"21.404747429299395","gps_elevation":"1480.0408033714582","sensors_power":"99","sensors_cadence":"90","sensors_speed":"9","__data_operation_flag":"c","__source_name":"DebeziumDemo.VelonDeviceData","__header_ingestion_ts":"2022-02-23T06:58:33.883Z"},
{"seqn":"1645599504048","device-id":devices[2],"barometer-pressure":"9","temperature":"26","heart-rate":"66","Strap-id":"","timestamp":"1645599504046","postTimestamp":"1645599504046.055","accelerometer_x":"38","accelerometer_y":"50","accelerometer_z":"46","gyroscope":[{"accelerometer_y":"6","gyroscope_y":"10","gyroscope_z":"8"},{"accelerometer_y":"16","gyroscope_y":"110","gyroscope_z":"18"}],"magnetometer_x":"2","magnetometer_y":"2","magnetometer_z":"2","gps_lat":"44.08829103300471","gps_lng":"12.580542879068743","gps_speed":"21.404747429299395","gps_elevation":"1480.0408033714582","sensors_power":"99","sensors_cadence":"90","sensors_speed":"9","__data_operation_flag":"c","__source_name":"DebeziumDemo.VelonDeviceData","__header_ingestion_ts":"2022-02-23T06:58:33.883Z"}
]
data1 = [
{"seqn":"1645599504046","device-id":devices[1],"barometer-pressure":"9","temperature":"26","heart-rate":"66","Strap-id":"","timestamp":"1645599504046","postTimestamp":"1645599504046.055","accelerometer_x":"37","accelerometer_y":"50","accelerometer_z":"46","gyroscope":{"gyroscope_x":"6","gyroscope_y":"10","gyroscope_z":"8"},"magnetometer_x":"2","magnetometer_y":"2","magnetometer_z":"2","gps_lat":"44.08829103300471","gps_lng":"12.580542879068743","gps_speed":"21.404747429299395","gps_elevation":"1480.0408033714582","sensors_power":"99","sensors_cadence":"90","sensors_speed":"9","__data_operation_flag":"c","__source_name":"DebeziumDemo.VelonDeviceData","__header_ingestion_ts":"2022-02-23T06:58:33.883Z"},
{"seqn":"1645599504046","device-id":devices[2],"barometer-pressure":"9","temperature":"26","heart-rate":"66","Strap-id":"","timestamp":"1645599504046","postTimestamp":"1645599504046.055","accelerometer_x":"37","accelerometer_y":"50","accelerometer_z":"46","gyroscope":{"gyroscope_x":"6","gyroscope_y":"10","gyroscope_z":"8"},"magnetometer_x":"2","magnetometer_y":"2","magnetometer_z":"2","gps_lat":"44.08829103300471","gps_lng":"12.580542879068743","gps_speed":"21.404747429299395","gps_elevation":"1480.0408033714582","sensors_power":"99","sensors_cadence":"90","sensors_speed":"9","__data_operation_flag":"c","__source_name":"DebeziumDemo.VelonDeviceData","__header_ingestion_ts":"2022-02-23T06:58:33.883Z"}
]
producer = EventHubProducerClient.from_connection_string(conn_str="Endpoint=sb://uodaeventhub.servicebus.windows.net/;SharedAccessKeyName=sastestevent3;SharedAccessKey=CDLWbwEJpy59hrBljA6Di08wgUWxjrkmFEmcHh/BSyI=;EntityPath=testevent3")
countval =1
while(True):
for i in data:
event_data_batch = producer.create_batch()
s = json.dumps(i)
print(s)
event_data = EventData(s)
event_data.properties = {"sourceFeedName": "Measurements","target_system":"SQL SERVER","target_table":"default.eventtable251"}
event_data.publisher='ADLS_publisher'
event_data_batch.add(event_data)
producer.send_batch(event_data_batch)
print('countval--['+str(countval)+']')
countval = countval + 1
time.sleep(1)
# Close the producer.
producer.close()
print('data sent completed')
"""
while(True):
event_data_batch = producer.create_batch()
for i in data:
s = json.dumps(i)
print(s)
event_data = EventData(s)
event_data.properties = {"sourceFeedName": "Measurements","target_system":"SQL SERVER","target_table":"default.eventtable251"}
event_data_batch.add(event_data)
event_data.publisher='ADLS_publisher'
producer.send_batch(event_data_batch)
print('Batch sent')
"""
Run teh command by,
Open CMD->python filename.py
Comments
Post a Comment