Azure Метод Invoke Device Module с использованием REST API - PullRequest
1 голос
/ 09 апреля 2020

Я хочу использовать API Invoke Device Module из Azure, где я хочу отправить полезную нагрузку с помощью API, который будет отвечать за отправку сообщения из облака в модуль. Я следую этой статье "https://docs.microsoft.com/en-us/rest/api/iothub/digitaltwinmodel/service/invokedevicemodulemethod"

Я использую почтальон для выполнения этого API, но получаю следующий ответ. enter image description here

Я добавил 2 заголовка для почтальона 1] В этом разрешении я добавил bearerToken и 2] content-type как application / json. Я даю полезную нагрузку в разделе тела. Пожалуйста, дайте мне знать, что может быть не так, или если мне нужно настроить его по-другому.

Ответы [ 2 ]

0 голосов
/ 16 апреля 2020

Я разобрался, как это делается. Все, что нам нужно сделать, это использовать токен SAS в заголовке авторизации вместо bearerToken и использовать следующее тело.

{
"methodName": "name_of_your_method",
"responseTimeoutInSeconds": 60,
 "payload": {
    "command": "your_message"}
}

URL-адрес API - это следующий метод POST

"https://fully-qualified-iothubname.azure-devices.net/twins/{deviceId}/modules/{moduleId}/methods?api-version=2019-07-01-preview"

Использование следующая команда для генерации токенов SAS и FYI SAS Token истекает через 1 час после генерации:

az iot hub generate-sas-token -n Ageye

Это прекрасно работает и дает следующий ответ:

{
    "status": 200,
    "payload": {
        "status": "ok"
    }
}
0 голосов
/ 09 апреля 2020

В URL есть двойной знак sh http://azure-devices.net//twins. Можете ли вы попробовать с правильным http://azure-devices.net/twins/

...