私はazure sdkとrestクライアントを使用してイベントをIoTハブに送信しています。メインイベントメッセージの余分なプロパティをIoTハブに追加している間にメッセージのペイロードが変更されました - (レストクライアントを使用)
私はIotHub
ケース1に送信する前にメインペイロードに追加のプロパティを追加していてのIoTハブルーティング機能を使用する必要があります。AzureのSDK
イベントモデル
RealTimeMachineData realTimeData = new RealTimeMachineData();
realTimeData.Date = DateTime.UtcNow;
realTimeData.MachineCode = "M1";
を使用してデータを送信しますIoT Hubにデータを送信するためのSDKコード
このメッセージは、サービスバスex私はサービスバスエクスプローラにメッセージをチェックするとき、それがどのように見える私はイベントを送信した後のREST APIを通じて
HttpClient client = new HttpClient();
string deviceId = "DemoDevice";
string baseUrl = "https://******.azure-devices.net/devices/" + deviceId + "/messages/events?api-version=2016-02-03";
client.BaseAddress = new Uri(baseUrl);
var sas = @"SharedAccessSignature sr=********";
client.DefaultRequestHeaders.Add("Authorization", sas);
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
var message1 = new Microsoft.Azure.Devices.Client.Message(Encoding.ASCII.GetBytes(realTimeData.ToString()));
message1.Properties.Add("Source", "AiR");
HttpResponseMessage response = client.PostAsJsonAsync(baseUrl, message1).Result;
を呼び出すことによって、同じことを行うこの方法:plorer私はこの
{
"MachineCode": "M1",
"Date": "2017-08-27T10:05:22.7063498Z",
}
ケース2のように見えます残りのクライアントSを送信する際にペイロードが異なるなっているので、私は、ストリーム分析では、このアプローチを使用する必要がありますし、
多くの問題に直面している。
私は何か間違っているのですか、またはレストクライアント経由で送信しなければならないことがありますか?
これが機能していません。 – JARVIS
これは動作するはずです。私はIoT Hubでテストしました。ペイロードとヘッダーの実装が正しくありません。 IoTハブ・ルートはソース= "AiR"であり、 –