Azure IoT Hub에 HTTP POST로 메시지 보내기 참고
6458 단어 AzureAzureIoTIoTAzureIoTHub
소개
HTTP POST에서 Azure IoT Hub에 메시지를 보내는 메모입니다.
Node.js & MQTT 메모는 Node.js에서 Azure IoT Hub에 원격 분석을 보내는 샘플 코드를 이동하는 메모에 요약되어 있습니다.
공식 문서는 여기 : IoT Hub REST .
원하는 정보가 전혀 발견되지 않았기 때문에, 아래의 기사도 참고로 했습니다.
Azure IoT Hub를 원시 MQTTS (mosquitto) 및 HTTP REST에서 사용하는 방법 ( @ma2shita 씨)
(2021/02/11 추가)
참조를 찾았습니다.
→ 기기에서 메시지 보내기(https://docs.microsoft.com/ko-kr/rest/api/iothub/device/senddeviceevent)
준비
절차 을 참고하여 IoT Hub를 배포한다. (스케일은
F1
선택.) HTTP POST로 메시지 보내기
URL
https://{IOT_HUB_NAME}.azure-devices.net/devices/{DEVICE_ID}/messages/events?api-version=2018-06-30
품목
내용
비고
IOT_HUB_NAME
Azure IoT Hub의 이름サイドバー > プロパティ > 名前
DEVICE_ID
기기 IDサイドバー > IoTデバイス > デバイス一覧 > デバイスID
제 경우에는 다음과 같습니다.
https://azure-iot-m5atom-lite-sample.azure-devices.net/devices/http-rest-client-1/messages/events?api-version=2018-06-30
HTTP 헤더에 SAS 토큰 설정
IoT Hub에 대한 액세스 제어 에 SAS 토큰의 발행 방법이 써 있습니다.
이번에는 Azure CLI를 사용해 보겠습니다.
Azure CLI 설치
Azure Command-Line Interface (CLI) documentation 에서 Azure CLI를 설치합니다.
설치가 끝나면 터미널에서
az
명령을 실행해 봅시다.아래와 같이 표시되면 OK입니다.
$az
Welcome to Azure CLI!
---------------------
Use `az -h` to see available commands or go to https://aka.ms/cli.
Telemetry
---------
The Azure CLI collects usage data in order to improve your experience.
The data is anonymous and does not include commandline argument values.
The data is collected by Microsoft.
You can change your telemetry settings with `az configure`.
/\
/ \ _____ _ _ ___ _
/ /\ \ |_ / | | | \'__/ _\
/ ____ \ / /| |_| | | | __/
/_/ \_\/___|\__,_|_| \___|
(略)
잊지 마세요, Azure CLI에서도 로그인합니다.$ az login
SAS 토큰 발급
터미널에서 다음 명령을 실행합니다.
$ az iot hub generate-sas-token --hub-name {IOT_HUB_NAME}
제 경우에는 이렇게 됩니다.$ az iot hub generate-sas-token --hub-name azure-iot-m5atom-lite-sample
실행할 때 SAS 토큰이 발행되었습니다.{
"sas": "SharedAccessSignature sr=azure-iot-m5atom-lite-sample.azure-devices.net&sig=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&se=xxxxxxxxxxxxxxx&skn=iothubowner"
}
여기를 HTTP 헤더 Authorization
로 설정합니다.POST하기
CURL에서는 이런 느낌의 요청이 됩니다.
curl -i -X POST \
-H "Content-Type:application/json" \
-H "Authorization:SharedAccessSignature sr=azure-iot-m5atom-lite-sample.azure-devices.net&sig=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&se=xxxxxxxxxxxxxxx&skn=iothubowner" \
-d '"test"' \
'https://azure-iot-m5atom-lite-sample.azure-devices.net/devices/http-rest-client-1/messages/events?api-version=2018-06-30'
동작 확인합니다.위의 일 에서 작성한 Node.js의 수신 프로그램을 이동해, 제대로 수신할 수 있는지 확인합니다.
메시지를 보낼 때마다받을 수 있습니다.
요약
Azure IoT Hub에 HTTP POST로 메시지를 보낼 수 있습니다.
공식 문서가 읽기 어려워서 조금 헤매었습니다.
메시지를 보내는 방법으로서 MQTT와 HTTP POST는 장점 단점이 있을 것 같습니다만, 잘 검토해 사용해 나가려고 생각합니다.
Reference
이 문제에 관하여(Azure IoT Hub에 HTTP POST로 메시지 보내기 참고), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/mitsuoka0423/items/bfcc91d50cd0fe312f6c텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)