2017-02-24 7 views
0

最近、私はazureでのルーティングについての投稿を受け付けませんでした。私はそれが私が使用するjson形式に関連していることを知ったが、私は理由を知らない。 Json検証ツールは私のjsonフォーマットが有効だと言うが、Azureはルーティングをテストするときではないと言っている。AzureはIoTハブでルーティングするjson形式を受け入れません

マイルーティングは= "クリティカル" レベルでフィルタリングすることになっている

{ 
    "devicemessage": { 
    "appProperties": { 
     "processingPath": "<optional>", 
     "verbose": "<optional>", 
     "severity": "<optional>", 
     "level":"critical", 
     "testDevice": "<optional>" 
    } 
    } 
} 

この受け入れられアズール例から:

次のように

マイJSONメッセージ:

{"guid":"f7410833-7a8c-485a-8cfd-89285fc04256", 
"deviceName":"Bmp280Sensor", 
"tempSensorValue":23.5826187, 
"pressureSensorValue":101344.492, 
"altitudeSensorValue":-1.42682791, 
"measurementTime":"2017-02-24T02:45:13.5858506-08:00", 
"measurename":"LightSensor", 
"level":"critical"} 

しかし、私が青空のポータルでそれをテストしようとすると:

"yの構文私たちのデバイスメッセージが不正です。 "

その他のチェックツールは、私のjson形式を受け入れます。私のjsonメッセージが紺碧のiotハブによって受け入れられない理由を誰かが理解していますか?

答えて

0

はい、フォーマットの問題のようです。あなたはこれを試すことができます :

{ 
    "devicemessage": { 
    "appProperties": { 
     "guid":"f7410833-7a8c-485a-8cfd-89285fc04256", 
     "deviceName":"Bmp280Sensor", 
     "tempSensorValue":23.5826187, 
     "pressureSensorValue":101344.492, 
     "altitudeSensorValue":-1.42682791, 
     "measurementTime":"2017-02-24T02:45:13.5858506-08:00", 
     "measurename":"LightSensor", 
     "level":"critical" 
    } 
    } 
} 
+0

はい、私はそれを理解の上に表示されますが、私はAzureのは、それがそのように動作するようにするためのフォーマットを要求理由を理解していないようだと。 – Tvt

+0

[メッセージルーティング条件は、デバイスツインクエリとデバイスジョブと同じクエリ言語を使用します。](https://azure.microsoft.com/en-us/blog/azure-iot-hub-message-routing-enhances-device-インフラストラクチャリソース)/ [クエリ言語](https://docs.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-query-language)を参照できます。 )、[device twin](https://docs.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-device-twins)と[デバイスジョブ](https://docs.microsoft .com/en-us/azure/iot-hub/iot-hub-devguide-jobs)を参照してください。私はそれが一貫性のために設計されていることが怖いです。 –

+0

それは私が見つける必要があったものです。限り、質問が行く私はすでにそれを修正したが、これは意味をなさない:) – Tvt

関連する問題