🙆

Microsoft fabricとAzureのアーキテクチャ-①【Azure編】

2024/02/04に公開1

やること

①.IoThubにデータを定期的に送信し、Blobに保存
②.Data Factoryで定期的に、Blobからデータを持ってくる

今回は、①についての記事を書きます
弊社エンジニアが①の概要を記事にしています
https://zenn.dev/headwaters/articles/90526ee639f138

手順

  1. IoT Hubを構築
  2. Azure Blob Storageを構築
  3. Azure Blob Storageにコンテナーを構築
  4. IoT Hubの「メッセージルーティング」をクリック
  5. 「+追加」をクリック
  6. 下記のようにパラメータを設定し、「作成して次へ」をクリック
  7. 下記のようにパラメータを設定し、「エンリッチメントの作成とスキップ」をクリック
  8. メッセージルーティングが作成されたことを確認
  9. 下記のスクリプトを実行
from azure.iot.device import IoTHubDeviceClient, Message
import random
import time
import json
from datetime import datetime

CONNECTION_STRING = "Your-Device-Connection-String"

# 接続文字列を使用してデバイスクライアントのインスタンスを生成
client = IoTHubDeviceClient.create_from_connection_string(CONNECTION_STRING)

while True:
    # 現在の日時を取得
    current_time = str(datetime.now())
    # ランダムな温度と湿度の値を生成
    temperature = 20 + (random.random() * 10)
    humidity = 60 + (random.random() * 20)
    # データを辞書形式で作成
    data = {"temperature": temperature, "humidity": humidity, "time": current_time}
    # データをJSON形式の文字列に変換
    message = Message(json.dumps(data))
    # メッセージを送信
    client.send_message(message)
    print(f"Message sent: {message}")
    # 1秒待機
    time.sleep(1)

※接続文字列作成方法は、下記です。
https://learn.microsoft.com/ja-jp/azure/iot-hub/iot-hub-create-through-portal#register-a-new-device-in-the-iot-hub
10. 実行すると、下記のようにjson形式で保存される

ヘッドウォータース

Discussion