1

温度値を含む変数がある場合、ServiceBusService.send_event を使用してどのように送信できますか?

4

2 に答える 2

1

イベント ハブの反対側でどのように使用しているかによって異なります。Azure Stream Analyticsを使用している場合は、イベント ハブに送信する形式が json、csv、またはarvoであることを確認する必要があります。

変数がある場合は、辞書を作成し、Python のjson ライブラリを使用してシリアル化し、結果の文字列を送信するだけで十分簡単です。例:

from azure.servicebus.control_client import ServiceBusService
import json;

sbs = ServiceBusService("your_namespace",
                        shared_access_key_name="your_policy_name",
                        shared_access_key_value="your_policy_secret")

# build dictionary and send value
temp = {'DeviceId': 'dev-01', 'Temperature': str(i)}
sbs.send_event('woodstove2', json.dumps(temp))
于 2015-08-21T20:07:19.237 に答える
0

EventHub の ServiceBus 名前空間が作成されていることを確認してください。そうでない場合は、記事https://azure.microsoft.com/en-us/documentation/articles/event-hubs-csharp-ephcs-getstarted/の「イベント ハブの作成」セクションを参照してください。

以下のように、Service Bus 構成ページで ServiceBus SAS 名とキーを取得します。

ここに画像の説明を入力

サービス バスにイベント ハブが含まれていない場合は、[イベント ハブ] タブをクリックして手動で作成するか、Python SDK を使用して作成できます。

from azure.servicebus import ServiceBusService

servns = '<service_bus _namespace>'
key_name = '<service_bus_sas_keyname>'  # SharedAccessKeyName from Azure portal
key_value = '<service_bus_sas_key>'  # SharedAccessKey from Azure portal
sbs = ServiceBusService(service_namespace=servns,
                        shared_access_key_name=key_name,
                        shared_access_key_value=key_value) # Create a ServiceBus Service Object
flag = sbs.create_event_hub('<event_hub_name>') # Create a Event Hub for the ServiceBus. If it exists then return true, else return false
print(flag)
event_data = '<event_data>'
sbs.send_event('<event_hub_name>', event_data) # Send event data to your Event Hub, like real-time temperature data

あなたのシーンに応じて、jsturtevantが言ったように、イベントデータをJSON文字列、ヘッダー付きのCSV文字列にシリアル化できます。

温度の例:

  1. JSON

event_data = '{"deviceId": "dev01", "時間": "2015-08-24 12:34:45", "温度": 30.0 }'

  1. CSV

event_data = 'deviceId,時間,温度\ndev01,2015-08-24 12:34:45,30.0'

ServiceBus Python SDK の詳細については、リンク「README.rst」の「使い方」の部分https://github.com/Azure/azure-sdk-for-python/tree/master/azure-を参照してください。サービスバス

于 2015-08-24T08:38:54.763 に答える