REST для Центра Интернета вещей

ИНТЕРФЕЙСы REST API для Центр Интернета вещей предоставляют программный доступ к устройствам, службам обмена сообщениями и заданиям, а также к поставщику ресурсов в Центр Интернета вещей. Вы можете получать доступ к службам обмена сообщениями из службы Интернета вещей, работающей в Azure, или непосредственно через Интернет из любого приложения, которое может отправлять HTTPS-запрос и получать HTTPS-ответ.

Служба

  • Используйте этот API для управления Центр Интернета вещей двойников устройств. Вы можете получать и обновлять свойства двойника устройства и вызывать прямые методы на устройствах.
  • Используйте эти API для управления удостоверениями устройств в реестре удостоверений Центра Интернета вещей.
  • Используйте эти API для управления заданиями в Центр Интернета вещей. Вы можете запланировать, отменить или получить задание.

Все операции с задачами соответствуют спецификации протокола HTTP/1.1, и каждая операция возвращает x-ms-request-id заголовок, который можно использовать для получения сведений о запросе. Необходимо убедиться, что запросы к этим ресурсам безопасны. Дополнительные сведения о создании маркеров безопасности см. в Центр Интернета вещей руководстве разработчика по безопасности.

Обмен сообщениями с устройствами

Используйте эти API с устройства для отправки сообщений с устройства в облако в Центр Интернета вещей и получения сообщений из облака на устройство из Центра Интернета вещей. Все операции задач соответствуют спецификации протокола HTTP/1.1. Необходимо убедиться, что запросы к этим ресурсам безопасны. Дополнительные сведения о создании маркеров безопасности см. в Центр Интернета вещей руководстве разработчика по безопасности.

Поставщик ресурсов

Используйте эти API для управления развертыванием ресурсов Центр Интернета вещей. Сведения о том, как защитить эти запросы, см. в справочнике по REST API Azure.

Распространенные параметры и заголовки

Следующие сведения являются общими для всех задач, связанных с Центр Интернета вещей:

  • Замените {api-version} на "2018-06-30" в URI.

  • Замените {subscription-id} на ваш идентификатор подписки в URI.

  • Замените {resourceGroupName} именем группы ресурсов, которая содержит (или будет содержать) центр Интернета вещей.

  • Замените {IoTHubName} именем центра Интернета вещей.

  • Установка значения application/json в качестве заголовка Content-Type.

  • Задайте для заголовка Authorization маркер SAS, созданный в соответствии с указаниями в разделе Маркеры безопасностираздела Использование маркеров безопасности Центр Интернета вещей.

  • Заголовок Etag возвращается во всех запросах, ограниченных одним удостоверением устройства, согласно RFC7232.

  • Для всех операций PUT/PATCH необходимо указать следующие заголовки: If-Match = [*|<etag from get>]

  • Операции DELETE могут включать следующий заголовок: If-Match = [*|<etag from get>]

Поведение ETag можно увидеть ниже:

PUT Ресурс не существует Ресурс существует
If-Match = "" / отсутствует 201 Создано 200 ОК
If-Match = "*" 412 — Необходимое условие не выполнено 200 ОК
If-Match = "xyz" 412 — Необходимое условие не выполнено 200 OK / 412 Сбой предусловий
If-None-Match = "*" 201 Создано 412 — Необходимое условие не выполнено
DELETE Ресурс не существует Ресурс существует
If-Match = "" / отсутствует 204 No Content (содержимое отсутствует) 200 ОК
If-Match = "*" 204 No Content (содержимое отсутствует) 200 ОК
If-Match = "xyz" 204 No Content (содержимое отсутствует) 200 OK / 412 Сбой предусловий

Для асинхронных вызовов:

  • PUT отвечает 201 Created с Azure-AsyncOperation заголовком для любых асинхронных операций. Все синхронные операции (обновления) возвращают значение 200 OK.

  • Функция DELETE возвращает значение 202 Accepted с заголовками Location и Retry-After, а также заголовком Azure-AsyncOperation для существующих ресурсов.

  • Заголовок location содержит URL-адрес для результата операции.

  • Retry-After заголовке содержит соответствующий интервал повтора в секундах

  • Azure-AsyncOperation заголовке содержит URL-адрес для состояния результата асинхронной операции.

  • После завершения get to the operation result URL (ПОЛУЧИТЬ к URL-адресу результата операции) создает точно такой же результат, как если бы исходная операция была выполнена синхронно.