[英]Azure Event Hub - How to receive data from sensor via https?
我有一個傳感器可以跟蹤進出建築物的人。 在每次有人進出時,傳感器都會通過 HTTPS 將數據發送到我指定的任何 URL 或 IP 地址。 如果我將筆記本電腦設置為監聽傳入流量的網絡服務器,我可以接收數據。
我想要做的是 go 無服務器並使用 Azure 事件中心。 我設置了一個事件中心並通過使用 python 腳本從我的筆記本電腦推送數據來運行測試,我可以成功接收數據。 這是我用來測試的示例代碼; 我正在使用連接字符串進行身份驗證。
import time
import os
import uuid
import datetime
import random
import json
from azure.eventhub import EventHubProducerClient, EventData
# This script simulates the production of events for 10 devices.
devices = []
for x in range(0, 10):
devices.append(str(uuid.uuid4()))
# Create a producer client to produce and publish events to the event hub.
producer = EventHubProducerClient.from_connection_string(conn_str="My End Point String", eventhub_name="my eventhub name")
for y in range(0,20): # For each device, produce 20 events.
event_data_batch = producer.create_batch() # Create a batch. You will add events to the batch later.
for dev in devices:
# Create a dummy reading.
reading = {'id': dev, 'timestamp': str(datetime.datetime.utcnow()), 'uv': random.random(), 'temperature': random.randint(70, 100), 'humidity': random.randint(70, 100)}
s = json.dumps(reading) # Convert the reading into a JSON string.
event_data_batch.add(EventData(s)) # Add event data to the batch.
producer.send_batch(event_data_batch) # Send the batch of events to the event hub.
# Close the producer.
producer.close()
在我的傳感器上,我沒有輸入這兩件事的選項。 我只能選擇輸入 URL/IP。
知道如何設置嗎?
我建議以這種方式移動數據: Sensor > Azure Functions HTTP trigger > Azure Event Hubs
總之,您的傳感器將調用托管在 Azure 函數上的 HTTP 端點,並且 function 將在將傳感器數據轉發到 eventhub 之前對其進行檢查和轉換。
這是有關 HTTP 觸發器的文檔 - https://docs.microsoft.com/en-us/azure/azure-functions/functions-bindings-http-webhook-trigger?tabs=csharp
這是有關事件中心 output 綁定的文檔 - https://docs.microsoft.com/en-us/azure/azure-functions/functions-bindings-event-hubs-output?tabs=csharp
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.