「[[マイクロソフト系技術情報 Wiki>http://techinfoofmicrosofttech.osscons.jp/]]」は、「[[Open棟梁Project>https://github.com/OpenTouryoProject/]]」,「[[OSSコンソーシアム .NET開発基盤部会>https://www.osscons.jp/dotNetDevelopmentInfrastructure/]]」によって運営されています。

-[[戻る>Azure IoT Hub]]
--Azure IoT Hubチュートリアル
--[[Azure IoT Centralチュートリアル]]
--[[Azure IoT Edgeチュートリアル]]

* 目次 [#w8d4e7b7]
#contents

*概要 [#acbfba92]
-[[Azure IoT Hub]]の

--[[Device Endpoint>Azure IoT Hub#zc944d5d]]にデバイスを
--[[Service Endpoint>Azure IoT Hub#sada5bf3]]にサービスを

>繋いでいくチュートリアル

-以下を接続する。

--[[Azure IoT Explorer>#x1656c70]]

--[[Device Endpoint>Azure IoT Hub#zc944d5d]]
---[[Raspberry Pi Simulator>#cd6d69d9]]~
---[[CLIデバイス・シミュレータ>#l37428a5]]
---[[SDK(C#)>#pc3d2e93]]

--[[Service Endpoint>Azure IoT Hub#sada5bf3]]
---[[Azure Stream Analytics>#r64ca7cd]]~
・[[ストレージ>Azureのストレージ]]~
・[[Power BI]]
---[[Azure Time Series Insights>#j0c85e68]]

*詳細 [#meed8673]

**契約 [#gaa4007d]

***[[Azureの契約>AzureのPoC環境を契約する]] [#o1607bb5]

***IoT Hubの契約 [#p3b81203]
Freeレベルを選択できるらしい。

**構築 [#ucb21f5f]
パラメタは以下の感じで。
-リソース・グループ:HmsRG
-Region:westus2
-IoT Hub 名:OsscJpDevInfra
-DPS 名:OsscJpDevInfra
-スケーリング レベルとユニット:F1(Freeレベル

***ポータル [#n42faf51]

-IoT Hub

--サービス > IoT Hubに移動
--[IoT ハブ作成]ボタンを押下
--[[上記>#ucb21f5f]]のパラメタを設定
--[確認および作成] → [作成]ボタンを押下。
--デプロイが完了したら[リソースに移動]ボタンを押下。

--IoT Hubへの接続文字列~
IoT Hubの共有アクセス ポリシーの~
iothubownerのプライマリ接続文字列から取得。

-DPS~
...

***シェル [#h08c88ba]
-リソース・グループ
 $ az group create --name HmsRG --location westus2

-エクステンションの追加
 $ az extension add --name azure-iot

-IoT Hub

--IoT Hubの作成
 $ az iot hub create --resource-group HmsRG --name OsscJpDevInfra

--IoT Hubへの接続文字列~
を以下のコマンドから取得
 $ az iot hub connection-string show --hub-name OsscJpDevInfra

-DPS(必要に応じて

--DPSの作成
 $ az iot dps create --resource-group HmsRG --name OsscJpDevInfra

--リンクする。
 $ hubConnectionString=$(az iot hub connection-string show -n OsscJpDevInfra --key primary --query connectionString -o tsv)
 $ echo $hubConnectionString
 $ az iot dps linked-hub create \
   --dps-name OsscJpDevInfra --resource-group HmsRG --location westus2 \
   --connection-string $hubConnectionString

--DPS 構成の "ID スコープ"をメモしておく。
 $ az iot dps show --name OsscJpDevInfra --query properties.idScope

**Azure IoT Explorer [#x1656c70]

***インストール [#ed98778e]
-最新のインストーラーを取得する。~
https://github.com/Azure/azure-iot-explorer/releases

-既定値でインストールを行う。

***初期化 [#xae8e3a8]
-起動して[Add connection]する。

-接続文字列の入力欄に[[IoT Hubへの接続文字列>#ucb21f5f]]を貼り付けて[Save]ボタンを押下する。

***パブリック モデル リポジトリ追加 [#he457f43]
(パブリック モデル リポジトリとは?)

-ホーム ビューで、 [IoT プラグ アンド プレイの設定] を選択。
-[+ 追加] を選択して[パブリック リポジトリ] を選択。
-パブリック モデル リポジトリのエントリが表示される。
-[保存] を選択。

*準備 [#ab3258fa]

**デバイスの追加 [#k90b9399]

***ポータル [#b19ca732]
-デバイス管理 > デバイス > デバイスの追加と進み

--以下の値を入力
---デバイスの作成で以下を入力する。
---デバイス ID:mydevice1
---認証の種類:対称キー、自動生成キー[✔]
---このデバイスを IoT ハブに接続する:有効化

--[保存]ボタンを押下し~
デバイスを追加する。

-追加したデバイスのページに移動し、
--デバイスからIoT Hubへの接続文字列を取得しておく。

***シェル [#fa2e991b]

-通常のデバイス

--デバイスIDの生成
 $ az iot hub device-identity create -d mydevice1 -n OsscJpDevInfra

--デバイスからIoT Hubへの接続文字列~
 $ az iot hub device-identity connection-string show --hub-name OsscJpDevInfra --device-id mydevice1 --output table

-DPS デバイス

--生成~
事前に、デバイスID : my-pnp-device1 を生成しておく。

--登録~
登録してenrollment-idとsymmetricキーをメモしておく。
 $ az iot dps enrollment create \
   --attestation-type symmetrickey \
   --dps-name OsscJpDevInfra --resource-group HmsRG \
   --enrollment-id my-pnp-device1 --device-id my-pnp-device1 \
   --query '{registrationID:registrationId,primaryKey:attestation.symmetricKey.primaryKey}'

--削除
 $ az iot dps enrollment delete -n OsscJpDevInfra --eid my-pnp-device1

***[[Azure IoT Explorer>#x1656c70]] [#m71eb642]
-ホーム ビューで、 [IoT Hub] を選択。
-接続が表示され接続プロパティの下の[View devices in this hub]を選択。
-[+ 新規] を選択し、デバイス ID:mydevice1を入力し[作成] を選択。
-[プライマリ接続文字列]フィールドからデバイスからIoT Hubへの接続文字列をコピー。

**デバイスの監視 [#y74719b3]

***ポータル [#tf6c8c7d]

***シェル [#xd91d96d]
[[Azure Cloud Shell]]の別セッション(≒ 別タブ)で実行
 $ az iot hub monitor-events --output table -p all -n OsscJpDevInfra

***[[Azure IoT Explorer>#x1656c70]] [#g1f9593b]
追加したデバイスのテレメトリを受信

-デバイスを選択し、
-テレメトリを選択し、
-[Start]を押下してテレメトリを受信

*接続 [#cbe61ae8]

**デバイス [#z6f6be88]

***[[Raspberry Pi>https://dotnetdevelopmentinfrastructure.osscons.jp/index.php?Raspberry%20Pi]] Simulator [#cd6d69d9]

-[[デバイス監視の設定>#y74719b3]]を行っておく。

-Raspberry Pi Azure IoT Web Simulator~
https://azure-samples.github.io/raspberry-pi-web-simulator/#getstarted

--'[Your IoT hub device connection string]'の部分を~
デバイスからIoT Hubへの接続文字列で置換する。

--[Run]ボタンを押下すると「Message sent to Azure IoT Hub」が確認できる。

***CLIデバイス・シミュレータ [#l37428a5]
-[[デバイス監視の設定>#y74719b3]]を別セッション(≒タブ)で行っておく。

-シミュレータの生成
 $ az iot device simulate -d mydevice1 -n OsscJpDevInfra

--シミュレータではデバイスからIoT Hubへの接続文字列の設定は不要である模様。
--デバイスが停止している場合、このコマンドを実行して再起動する(100%でシャットダウンする)。

-各種メッセージの送信~
※ [[Azure Cloud Shell]]の別セッション(≒ 別タブ)で実行

--D2Cメッセージを送信
---シミュレータ生成と同時に定期的にメッセージが送信される。
---メッセージは、監視のセッション(≒タブ)で確認可能。

--C2Dメッセージを送信~
メッセージは、シミュレータの生成のセッション(≒タブ)で確認可能。
 $ az iot device c2d-message send -d mydevice1 --data "Hello World" --props "key0=value0;key1=value1" -n OsscJpDevInfra

--ダイレクト メソッドを送信~
メッセージは、シミュレータの生成のセッション(≒タブ)で確認可能。
 $ az iot hub invoke-device-method --mn MySampleMethod -d mydevice1 -n OsscJpDevInfra

--プロパティの

---更新
 $ az iot hub device-twin update -d mydevice1 --desired '{"conditions":{"temperature":{"warning":98, "critical":107}}}' -n OsscJpDevInfra

---確認
 $ az iot hub device-twin show -d mydevice1 --query properties.reported -n OsscJpDevInfra

---シミュレータの生成のセッション(≒タブ)でも確認可能。

***SDK(C#) [#pc3d2e93]
「[[クイックスタート>#x1817894]]」「[[チュートリアル>#g4976320]]」から、~
Node.jsのサンプルが多いが、やっぱりC#を選択。

-[[デバイス監視の設定>#y74719b3]]を別セッション(≒タブ)で行っておく。

-azure-iot-sdk-csharp/iothub

--テレメトリ送信~
手順のとおり実行可能。
---device/samples/solutions/PnpDeviceSamples/TemperatureController~
・以下の環境変数を設定して
 set IOTHUB_DEVICE_SECURITY_TYPE=connectionString
 set IOTHUB_DEVICE_CONNECTION_STRING=デバイスからIoT Hubへの接続文字列
・実行
 TemperatureController

--デバイス制御~
パスやコマンドライン引数が間違っている。

---device/samples/getting started/SimulatedDeviceWithCommand
 >SimulatedDeviceWithCommand --DeviceConnectionString デバイスからIoT Hubへの接続文字列

---service/samples/getting started/InvokeDeviceMethod
 >InvokeDeviceMethod --HubConnectionString "IoT Hubへの接続文字列" -d デバイス名

--IoT Plug and Playデバイスソリユーション~
以下のビルドの前に「azureiot.sln」で全体のビルドが必要。

---device/samples/solutions/PnpDeviceSamples/Thermostat~
・以下の環境変数を設定して~
 set IOTHUB_DEVICE_SECURITY_TYPE=dps
 set IOTHUB_DEVICE_DPS_ID_SCOPE=<...>
 set IOTHUB_DEVICE_DPS_DEVICE_ID=my-pnp-device1
 set IOTHUB_DEVICE_DPS_DEVICE_KEY=<...>
 set IOTHUB_DEVICE_DPS_ENDPOINT=global.azure-devices-provisioning.net
・実行~
 Thermostat.exe -r 30

---service/samples/solutions/PnpServiceSamples/Thermostat~
・以下の環境変数を設定して~
 set IOTHUB_DEVICE_ID=my-pnp-device1
 set IOTHUB_CONNECTION_STRING=<...>
・実行~
 Thermostat.exe

その他のサンプル

-matakaha/iotsample2022~
https://github.com/matakaha/iotsample2022

-OpenTouryoProject/HubAndMsgSrv~
https://github.com/OpenTouryoProject/HubAndMsgSrv/

**サービス [#d60d540f]

***[[Azure Stream Analytics]] [#r64ca7cd]
[[Azure Stream Analytics]]を経由して以下に接続する。

-[[ストレージ>Azureのストレージ]]

--[[ストレージ・コンテナをIaCする>Azureのストレージ#ea519673]]など。

--[[Azure Stream Analyticsジョブの作成>Azure Stream Analytics#td239b90]]

---ポータル~
・ジョブ名:IoT2Storage~
・[Add input]を押下してストリーム入力の追加から[IoT Hub]を選択し既定値で設定~
・[Add output]を押下して追加から[Blob ストレージ]を選択し既定値で設定~
・[Write query]([Edit query])を押下すると、~
・入力・出力がエイリアスで自動設定されているので[クエリのテスト]で動作を確認。~
・最後に作成したジョブに戻って[開始]ボタンを押下する。

---シェル
 ...

-[[Power BI]]~
組織アカウントが必要だった。

***[[Azure Time Series Insights]] [#j0c85e68]
組織アカウントが必要だった。

*参考 [#l9ed163c]

-IoT Hub の作成~
https://www.cloudou.net/azure-iot-suite/iot003/

-Azure IoT Hubを使ってみよう(デバイスデータを受け取る)~
ツクレル – デジタルものづくり教材の開発スタートアップ~
https://blog.tkrel.com/8478

-Azure IoT Hubでのデータ受け取りと可視化 - JBS Tech Blog~
https://blog.jbs.co.jp/entry/2022/04/26/100000

-Azure IoT Hub連携方法 | センスウェイ株式会社~
https://www.senseway.net/service/network-service/network-manual/manual-with-azure-iot-hub/

**Qiita [#l6f7a6cd]
-【IoT初心者向け】IoT機器が無くても試せる!Azure IoT Hub~
https://qiita.com/RyogaTakao/items/5115c8d414c111f0753a

-Azure IoT HubにHTTP POSTでメッセージを送信するメモ~
https://qiita.com/mitsuoka0423/items/bfcc91d50cd0fe312f6c

-Azure IoT Hubまわりの監視の基礎~
https://qiita.com/mstakaha1113/items/503bc82476ec92de0e58

***Python、Node.js [#s41212df]
-ようやく始める Azure IoT Hub~
https://qiita.com/hydrangeas/items/dc725e6cc6a38717e932

-Azure IoTのチュートリアルをやってみた
--1~
https://qiita.com/sirotosiko/items/ca588e6acad293a118b1
--2~
https://qiita.com/sirotosiko/items/abe0b91f31e18ec3f49e

-Azure IoT Hub へのデータ送信と Azure Stream Analytics による可視化~
の下準備を試す(公式ドキュメントやサンプルをピックアップしつつ)~
https://qiita.com/youtoy/items/0ca9be93c9189e71b5d1

***C# [#yb8dfb4e]
-Azure IoT Hubを使ってみた~
https://qiita.com/linyixian/items/e319c5f63f9e57459ac0

-AzureでIoT系のサービスをサラッと(?)使ってみよう~
https://qiita.com/mstakaha1113/items/1c9b8f61452147a87640

--シナリオ0:デバイスとIoT Hubを接続。~
[quickstart-send-telemetry-iot-hub]の内容をヤレと言う内容。

--シナリオ1:デバイスからテレメトリーデータを取得しストレージへ保存。~

---ココでは、Function → Storage と保存する。

---以下の内容をヤレと言う内容。~
・[functions-create-your-first-function-visual-studio]~
・[functions-bindings-event-hubs-output]~
・[functions-add-output-binding-storage-queue-vs]~

---感想~
・メッセージ ルーティングで良いのでは?と言う気もした。~
・なぜ、Event Hubs?と思ったが、裏で暗黙的に使われているからっぽい(built-in event hub)。

---余談~
以下はVSCodeでシナリオ1をヤッた手順である様~
https://qiita.com/mstakaha1113/items/30fe58e37de0a2801307

--シナリオ2:テレメトリーデータの異常を検知した時はメールを送信。

---ココでは、Stream Analytics → Service Bus → Logic Appsと保存する。

---以下の内容をヤレと言う内容。~
・[service-bus-quickstart-portal]~
・[stream-analytics-quick-create-portal]~
・[quickstart-create-first-logic-app-workflow]~
・[service-bus-dotnet-get-started-with-queues](確認用)

--シナリオ3:デバイスからファイルをアップロード。~
---これは単なるファイルアップロード
---ただし、実際はStorageアップロードへの完了通知と言う点がポイント

--シナリオ4:テレメトリーでアラートを送信し~
コレを受信したサービスはデバイスに制御メッセージを送信する。

---ココでは、IoT Hub → Event Hub → Functions → IoT Hub と折り返す。

---ポイント~
・デバイスからテレメトリーで(プロパティを使用した)アラートを送信。~
・間の経路はEvent Hubを挟んでメッセージ ルーティングする。~
・Functions(シナリオ1で既出)でアラート イベントを取得しDesired プロパティを送信~
・DeviceはDesired プロパティを受信(後のReportedについては触れられていない。

--シナリオ5:サービス側からデバイスに対して直接的に命令を送信(ダイレクト メソッド)。
---ダイレクト メソッド(サンプルコードはazure-iot-samples-csharpにコード追加
---パイプラインになっておらず、Functionsでダイレクト メソッドを実行するだけ。

-Azure IoT Hubを久しぶりに触ってみたので個人的な備忘録

--1(メッセージングとデバイスツイン)~
https://qiita.com/mstakaha1113/items/ff5e86ce969caceccb8d
--2(メッセージルーティング)~
https://qiita.com/mstakaha1113/items/02f5ffb49367c3c4bcdd
--3(ファイルアップロード)~
https://qiita.com/mstakaha1113/items/bf312e34f0ee53fde239
--4(c2dメッセージとメッセージエンリッチメント)~
https://qiita.com/mstakaha1113/items/2d80a209a6e4b4d0c0f6
--5(X.509証明書でIoT Hubに接続)~
https://qiita.com/mstakaha1113/items/3b254a23410786b7f72d

--[[ソースコードがGitHub上にある。>#dff6c052]]

**Stack Overflow [#z722c1dc]
-asp.net core 6.0 - Azure IOT Device Provisioning - How to get the IOT Device Primary Connection String from the Device/Provisoning Client SDK?~
https://stackoverflow.com/questions/73366621/azure-iot-device-provisioning-how-to-get-the-iot-device-primary-connection-str

**SIOS Tech. Lab [#m3cd8918]
-VistaraでAzure IoT
--【連載第1回】~
Raspberry Piベースの商用IoTデバイスに対し、Azure IoTで認定を受ける手順~
https://tech-lab.sios.jp/archives/vistara_azure_iot_20160719
--【連載第2回】~
オンプレミスのIoT環境をVistaraで監視し、アラートの状況に応じてインシデント化~
https://tech-lab.sios.jp/archives/vistara_azure_iot_20161129
--【連載第3回】~
IoTをAzure上で可視化し、Azure環境をVistaraでITオペレーション化~
https://tech-lab.sios.jp/archives/vistara_azure_iot_20161228

**他ベンダ [#pc466e73]
-Getting Started: Azure IoT Hub と接続する~
SORACOM Beam | ソラコムユーザーサイト - SORACOM Users~
https://users.soracom.io/ja-jp/docs/beam/azure-iot/
-クラウドアダプタを利用してAzure IoT Hubへデータを送信する~
https://manual.iij.jp/iot/doc/16189086.html
-Azure IoT Hubとの連携設定 — sakura.io ドキュメント~
https://sakura.io/docs/pages/guide/tutorial/service/azure-iot-hub.html

**YouTube [#ub607655]
-【 #初心者 向け】#Azure #IoT #チュートリアル 【 #ハンズオン 】~
https://www.youtube.com/watch?v=9_j2Zda1RHU

-Azure IoT Hub 動かしてみた【Python】~
https://www.youtube.com/watch?v=aNCznKHogFs

-【オンライン】公開打合わせ!~
Azure IoT x Azure RTOS 内輪レクチャーダダ漏れ会!~
https://www.youtube.com/watch?v=EfiSGLdiqbs

**GitHub [#dff6c052]

-https://github.com/Azure-Samples/azure-iot-samples-csharp
-https://github.com/Azure-Samples/azure-iot-samples-node
-https://github.com/Azure-Samples/azure-iot-samples-python
-https://github.com/Azure-Samples/azure-iot-samples-java
-https://github.com/Azure-Samples/azure-iot-starter-kits
-https://github.com/Azure-Samples/azureiotlabs

-https://github.com/matakaha/iotsample2022

**Microsoft Docs [#g4a4129e]
-Azure IoT エクスプローラーをインストールして使用する~
https://docs.microsoft.com/ja-jp/azure/iot-fundamentals/howto-use-iot-explorer

***シミュレーター [#dff84bca]
-az iot device simulate~
https://learn.microsoft.com/ja-jp/cli/azure/iot/device

-Raspberry Pi Web シミュレーターの Azure IoT Hub への接続 (Node.js)~
https://docs.microsoft.com/ja-jp/azure/iot-hub/iot-hub-raspberry-pi-web-simulator-get-started

***クイックスタート [#x1817894]
-CLIを使用したコード不要クイックスタート~
デバイスから IoT ハブに利用統計情報を送信して Azure CLI で監視する~
https://docs.microsoft.com/ja-jp/azure/iot-hub/quickstart-send-telemetry-cli

-SDKを使用してテレメトリを送信する(C, C#, Node.js, Python, Java)~
https://docs.microsoft.com/ja-jp/azure/iot-develop/quickstart-send-telemetry-iot-hub

-IoT ハブに接続されたデバイスを制御する(C#, Node.js, Python, Java)~
https://docs.microsoft.com/ja-jp/azure/iot-hub/quickstart-control-device

***チュートリアル [#g4976320]

-IoT Hub

--デバイス メッセージをストレージにルーティングする~
https://learn.microsoft.com/ja-jp/azure/iot-hub/tutorial-routing

--メッセージ エンリッチメントを使用する~
https://learn.microsoft.com/ja-jp/azure/iot-hub/tutorial-message-enrichments

--メトリックとログを使用する~
https://learn.microsoft.com/ja-jp/azure/iot-hub/tutorial-use-metrics-and-diags

--手動フェールオーバーの実行~
https://learn.microsoft.com/ja-jp/azure/iot-hub/tutorial-manual-failover

--デバイスの構成~
https://learn.microsoft.com/ja-jp/azure/iot-hub/tutorial-device-twins

--デバイスの更新を管理する~
https://learn.microsoft.com/ja-jp/azure/iot-hub-device-update/device-update-raspberry-pi

--デバイス接続のテスト~
https://docs.microsoft.com/ja-jp/azure/iot-hub/tutorial-connectivity

--Power BI でのデータ視覚化

-デバイス開発

--loT Hubを使用してデバイスソリユーションを構築する 
---IoT Plug and Playに必要な IoT リソースを設定する~
https://learn.microsoft.com/ja-jp/azure/iot-develop/set-up-environment
---IoT Plug and Playのサンプル デバイス コードを Azure IoT Hub に接続する(C, C#, Node.js, Python, Java)~
https://learn.microsoft.com/ja-jp/azure/iot-develop/tutorial-connect-device
---お使いの Azure IoT ソリューションに接続されている IoT Plug and Play デバイスを操作する(C#, Node.js, Python, Java)~
https://learn.microsoft.com/ja-jp/azure/iot-develop/tutorial-service

***操作方法ガイド [#bac9b6b6]
-管理する

--IoT Hub を作成する
---Azure Portal を使用して IoT Hub を作成する~
https://docs.microsoft.com/ja-jp/azure/iot-hub/iot-hub-create-through-portal~
---PowerShell コマンドレットを使用して Azure IoT Hub を作成する~
https://docs.microsoft.com/ja-jp/azure/iot-hub/iot-hub-create-using-powershell~
---Azure CLI を使用して IoT Hub を作成する~
https://docs.microsoft.com/ja-jp/azure/iot-hub/iot-hub-create-using-cli~
---テンプレートを使用した Azure IoT Hub の作成 (.NET)~
https://docs.microsoft.com/ja-jp/azure/iot-hub/iot-hub-rm-template

--ファイルのアップロードを構成する~
---Azure Portal を使用して IoT Hub ファイルのアップロードを構成する~
https://learn.microsoft.com/ja-jp/azure/iot-hub/iot-hub-configure-file-upload~
---PowerShell を使用して IoT Hub ファイルのアップロードを構成する~
https://learn.microsoft.com/ja-jp/azure/iot-hub/iot-hub-configure-file-upload-powershell~
---Azure CLI を使用して IoT Hub ファイルのアップロードを構成する~
https://learn.microsoft.com/ja-jp/azure/iot-hub/iot-hub-configure-file-upload-cli

-開発
--C2Dメッセージの送信(C#, Node.js, Python, Java, iOS)~
https://learn.microsoft.com/ja-jp/azure/iot-hub/iot-hub-csharp-csharp-c2d
--デバイス ツインを使ってみる。(C#, Node.js, Python, Java)~
https://learn.microsoft.com/ja-jp/azure/iot-hub/iot-hub-csharp-csharp-twin-getstarted
--モジュール ツインを使ってみる。(C, C#, Node.js, Python)~
https://learn.microsoft.com/ja-jp/azure/iot-hub/iot-hub-csharp-csharp-module-twin-getstarted
--デバイス管理の開始(C#, Node.js, Python, Java)~
https://learn.microsoft.com/ja-jp/azure/iot-hub/iot-hub-csharp-csharp-device-management-get-started
--デバイスからファイルをアップロードする(C#, Node.js, Python, Java)~
https://learn.microsoft.com/ja-jp/azure/iot-hub/iot-hub-csharp-csharp-file-upload
--ジョブのスケジュールとブロードキャスト(C#, Node.js, Python, Java)~
https://learn.microsoft.com/ja-jp/azure/iot-hub/iot-hub-csharp-csharp-schedule-jobs

-モニター
-更新プログラムの展開
-IoTの拡張シナリオ

----
Tags: [[:クラウド]], [[:IoT]], [[:Azure]]

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS