IoT Hub의 메시지 라우팅을 사용할 때 수치가 제대로 저장되지 않을 때의 체크포인트
개시하다
IoT 장치에서 보내온 정보를 저장소에 저장할 때 인코딩 주위에 주의해야 할 점이 있기 때문에 공유합니다.
메시지 라우팅
정보 라우팅 기능은 다음을 참조하십시오.
쉽게 말하면 IoTHub가 어디에 데이터를 쓰는 기능이다.
Azure IoT Hub 메시지 라우팅
IoT Hub 메시지 라우트를 사용하여 device-to-Cloud 메시지를 다른 엔드포인트로 보내기
IoT Hub의 메시지 라우팅과 Event Grid 비교
메시지 라우팅 문제 해결
이벤트
Stream Analytics 등에서 데이터를 정상적으로 읽을 수 있지만 스토리지 장치에 저장된 데이터는 이상하다.
예를 들어 이렇게 바디에 미스터리한 값을 넣은 상태에서 저장 장치에 저장된다.
처리하다.
대응이라기보다는 예의다.
아래와 같이 메일에 속성을 설정하여 발송합니다.
python
msg.content_encoding = "utf-8"
msg.content_type = "application/json"
전체적인 예(정보 내용은 나의 코드의 일부분을 발췌했다)python
from azure.iot.device.aio import IoTHubDeviceClient
from azure.iot.device import Message
conn_str = os.getenv("IOTHUB_DEVICE_CONNECTION_STRING")
# Create instance of the device client using the connection string
device_client = IoTHubDeviceClient.create_from_connection_string(conn_str)
msg = Message('{{"temperature": {temperature:0.1f},"humidity": {humidity:0.1f},"timestamp_jst":"{timestamp}"}}'.format(temperature = temperature, humidity = humidity,timestamp = dt))
msg.message_id = uuid.uuid4()
msg.correlation_id = "correlation-1234"
msg.content_encoding = "utf-8"
msg.content_type = "application/json"
# Send a single message
print(msg)
await device_client.send_message(msg)
덤나의 경우 IoThub의 코드 샘플에 포함된python이 아래의 상태에서 예법을 준수하지 않아서 이런 현상이 발생했다.
초간단한 정보 전송 코드라 이 부분은 생략했다.
python
import os
import asyncio
from azure.iot.device.aio import IoTHubDeviceClient
async def main():
# Fetch the connection string from an enviornment variable
conn_str = os.getenv("IOTHUB_DEVICE_CONNECTION_STRING")
# Create instance of the device client using the connection string
device_client = IoTHubDeviceClient.create_from_connection_string(conn_str)
# Connect the device client.
await device_client.connect()
# Send a single message
print("Sending message...")
await device_client.send_message("This is a message that is being sent")
print("Message successfully sent!")
# Finally, shut down the client
await device_client.shutdown()
if __name__ == "__main__":
asyncio.run(main())
참고 자료IoT Hub message routing: now with routing on message body
Why IoT Hub message is not decoded corretly in storage JSON blob?
Reference
이 문제에 관하여(IoT Hub의 메시지 라우팅을 사용할 때 수치가 제대로 저장되지 않을 때의 체크포인트), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/ryoma-nagata/items/c1ad0a930144717389e1텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)