IoT Hub REST

IoT Hub 위한 REST API는 IoT Hub 디바이스, 메시징 및 작업 서비스뿐만 아니라 리소스 공급자에 대한 프로그래밍 방식 액세스를 제공합니다. HTTPS 요청을 보내고 HTTPS 응답을 받을 수 있는 모든 애플리케이션에서 인터넷을 통해 직접 또는 Azure에서 실행되는 IoT 서비스 내에서 메시징 서비스에 액세스할 수 있습니다.

서비스

  • 이 API를 사용하여 IoT Hub 디바이스 쌍을 관리합니다. 디바이스 쌍 속성을 검색 및 업데이트하고 디바이스에서 직접 메서드 를 호출할 수 있습니다.
  • 이러한 API를 사용하여 IoT Hub의 ID 레지스트리에서 디바이스 ID를 관리합니다.
  • 이러한 API를 사용하여 IoT Hub 작업을 관리합니다. 작업을 예약, 취소 또는 가져올 수 있습니다.

모든 작업 작업은 HTTP/1.1 프로토콜 사양을 준수하며 각 작업은 요청에 대한 정보를 가져오는 데 사용할 수 있는 헤더를 반환 x-ms-request-id 합니다. 이러한 리소스에 대해 생성된 요청이 안전한지 확인해야 합니다. 자세한 내용은 IoT Hub 개발자 가이드 – 보안 토큰을 만드는 방법에 대한 자세한 내용은 보안을 참조하세요.

디바이스 메시징

디바이스에서 이러한 API를 사용하여 디바이스-클라우드 메시지를 IoT Hub로 보내고 IoT Hub에서 클라우드-디바이스 메시지를 받습니다. 모든 작업은 HTTP/1.1 프로토콜 사양을 따릅니다. 이러한 리소스에 대해 생성된 요청이 안전한지 확인해야 합니다. 자세한 내용은 보안 토큰을 만드는 방법에 대한 자세한 내용은 IoT Hub 개발자 가이드 - 보안을 참조하세요.

리소스 공급자

이러한 API를 사용하여 IoT Hub 리소스의 배포를 관리합니다. 이러한 요청을 보호하는 방법에 대한 자세한 내용은 Azure REST API 참조를 참조하세요.

공통 매개 변수 및 헤더

다음 정보는 IoT Hub 관련된 모든 작업에 공통적으로 적용됩니다.

  • URI에서 {api-version}을 "2018-06-30"으로 바꿉니다.

  • URI에서 {subscription-id}를 구독 식별자로 바꿉니다.

  • {resourceGroupName}을 IoT Hub를 포함하거나 포함할 리소스 그룹 이름으로 바꿉니다.

  • {IoTHubName}을(를) IoT Hub 이름으로 바꿉니다.

  • 콘텐츠 형식 헤더를 application/json으로 설정합니다.

  • 권한 부여 헤더를 IoT Hub 보안 토큰 사용의 보안 토큰 섹션에 지정된 대로 만든 SAS 토큰으로 설정합니다.

  • Etag 헤더는 RFC7232에 따라 단일 디바이스 ID로 범위가 지정된 모든 요청에서 반환됩니다.

  • 모든 PUT/PATCH 작업을 수행하려면 다음 헤더를 지정해야 합니다. If-Match = [*|<etag from get>]

  • DELETE 작업에는 다음 헤더가 포함될 수 있습니다. If-Match = [*|<etag from get>]

ETag의 동작은 아래에서 확인할 수 있습니다.

PUT 리소스가 없습니다. 리소스가 있음
If-Match = "" / absent 201 생성됨 200 정상
If-Match = "*" 412 사전 조건 실패 200 정상
If-Match = "xyz" 412 사전 조건 실패 200 OK/412 사전 조건 실패
If-None-Match = "*" 201 생성됨 412 사전 조건 실패
DELETE 리소스가 없습니다. 리소스가 있음
If-Match = "" / absent 204 콘텐츠 없음 200 정상
If-Match = "*" 204 콘텐츠 없음 200 정상
If-Match = "xyz" 204 콘텐츠 없음 200 OK/412 사전 조건 실패

비동기 호출의 경우:

  • PUT은 비동기 작업에 대해 Azure-AsyncOperation 헤더를 사용하여 만든 201로 응답합니다. 모든 동기(업데이트) 작업은 200 확인을 반환합니다.

  • DELETE는 위치 및 Retry-After 헤더와 함께 허용되는 202를 반환하고 존재하는 리소스에 대한 Azure-AsyncOperation 헤더를 반환합니다.

  • 위치 헤더에 작업 결과에 대한 URL이 포함됩니다.

  • Retry-After 헤더에는 적절한 재시도 간격(초)이 포함됩니다.

  • Azure-AsyncOperation 헤더에는 비동기 작업 결과 상태 대한 URL이 포함되어 있습니다.

  • 완료되면 작업 결과 URL에 대한 GET은 원래 작업이 동기적으로 완료된 것과 정확히 동일한 결과를 생성합니다.