2017-01-09 5 views
0

Я пытаюсь получить модем Skywire LTE Cat 1 (http://nimbelink.com/skywire-4g-lte-cat-1/), чтобы обновить теневую вещь на AWS IoT. У меня есть устройство, разговаривающее с AWS через HTTP, и я могу выполнить команду GET для каждого учебника.AWS IoT JSON Error

Теперь я пытаюсь выполнить команду POST, чтобы обновить тень моей вещи. Тем не менее, всякий раз, когда я пытаюсь отправить свою команду POST:

POST /things/AWS_Test_Thing/shadow HTTP/1.1 
BODY: {"state":{"reported":{"Temp":55}}} 

AWS посылает мне следующее сообщение об ошибке:

HTTP/1.1 Bad Request 
{"message":"Payload contains invalid json","traceId":"e53be1d6-7967f52c-4dd6-d7b95cc20628"} 

Я никогда до того не использовал JSON, но от того, что я могу собрать,

{"state":{"reported":{"Temp":55}}} 

должен быть действительным JSON и соответствует документации AWS IoT (http://docs.aws.amazon.com/iot/latest/developerguide/thing-shadow-document-syntax.html#thing-shadow-example-request-json). Что мне не хватает?

ответ

0

Если вы обновляете тень через запрос POST, вы должны иметь «желаемый» оператор вместо «сообщенного».

0

Убедитесь, что заголовок Content-Length включен как часть процедуры запроса и подписания. Content-Length должен отражать размер загружаемой вами информации JSON.