Ошибка ручья:- не удалось: соединение отказано

У меня есть конечная точка Azure Iot Hub, куда я должен отправить некоторые данные (рассмотрим небольшие строки). Я хочу установить скорость отправки данных на этот URL и использую Trickle для этого.

я думал

trickle -d 30 -u 30 wget http://armtest1.azure-devices.net 

сделаю работу, но она показывает

не удалось: соединение отказано

Также попробовал так:

trickle -d 30 -u 30 wget --user=[myusername] --password=[mypassword] --auth-no-challenge http://armtest1.azure-devices.net

Но все равно получаю ту же ошибку.

Будет очень полезно, если вы, ребята, любезно укажете на мою ошибку и дадите мне способ добиться этого с помощью струйки.

1 ответ

Решение

Azure IoT Hub предоставляет доступ к конечным точкам путем проверки токена на соответствие политикам общего доступа и учетным данным безопасности реестра учетных записей. Azure IoT Hub поддерживает MQTT, AMQP и HTTPS, эти поддерживаемые протоколы транспортируют токены различными способами.HTTPS реализует аутентификацию путем включения действительного токена в заголовок запроса авторизации. Если вы хотите получить доступ (отправить данные) к Azure IoT Hub с помощью REST API, необходимо указать существующее устройство. Попробуйте выполнить следующую команду:

trickle -s -d 30 -u 30 \
wget --header="Authorization:<generated SAS token for device>" \
     --header="Content-Type:application/json" \
     --post-data '<your data in json style>' \
     "https://<your-iothub-host>.azure-devices.net/devices/<device id>/messages/events?api-version=2016-02-03"

В команде что-то нужно уточнить.

  • сгенерированный токен SAS для устройства: вы можете использовать Device Explorer для генерации токена. Пожалуйста, обратитесь к шагу 2 в этой статье ( Отправка событий в IOT Hub через HTTP через REST).
  • ваши данные в стиле json: данные, которые вы хотите отправить в IoT Hub. Это в формате JSON.
  • your-iothub-host: вы можете получить имя хоста IoT Hub в портале Azure. Это имя, которое вы создали при создании IoT Hub.

Когда вы успешно выполнили команду, появится ответ:

Connecting to <your-iothub-host>.azure-devices.net (<your-iothub-host>.azure-devices.net)|<ipaddress>|:443... connected.
HTTP request sent, awaiting response... 204 No Content
2018-01-03 22:33:53 (0.00 B/s) - ‘events?api-version=2016-02-03’ saved [0]

и, IoT Hub получит сообщение, вы можете следить за событиями через Device Explorer.

Другие вопросы по тегам