az iot device

Note

このリファレンスは、Azure CLI (バージョン 2.73.0 以降) の azure-iot 拡張機能の一部です。 拡張機能は、az iot device コマンドを初めて実行するときに自動的にインストールされます。 拡張機能の詳細については、 を参照してください。

デバイス シミュレーションやその他のデバイス中心の操作 (デバイスからクラウド、クラウドからデバイスへのメッセージング機能など) を活用します。

コマンド

Name 説明 型 状態
az iot device c2d-message

クラウドからデバイスへのメッセージング コマンド。

Extension GA
az iot device c2d-message abandon

クラウドからデバイスへのメッセージを破棄します。

Extension GA
az iot device c2d-message complete

クラウドからデバイスへのメッセージを完了します。

Extension GA
az iot device c2d-message purge

ターゲット デバイスの cloud-to-device メッセージ キューを消去します。

Extension GA
az iot device c2d-message receive

クラウドからデバイスへのメッセージを受信します。

Extension GA
az iot device c2d-message reject

クラウドからデバイスへのメッセージを拒否または配信不能にする。

Extension GA
az iot device c2d-message send

クラウドからデバイスへのメッセージを送信します。

Extension GA
az iot device registration

Azure IoT Hub Device Provisioning Service (DPS) を使用してデバイスを登録します。

Extension Preview
az iot device registration create

デバイスを登録し、必要に応じてその操作証明書を発行します。

Extension Preview
az iot device registration operation-status

DPS デバイス登録操作の状態を表示します。

Extension Preview
az iot device send-d2c-message

mqtt device-to-cloud メッセージを送信します。

Extension GA
az iot device simulate

Azure IoT Hubでデバイスをシミュレートします。

Extension Experimental
az iot device upload-file

事前構成済みの BLOB ストレージ コンテナーに、デバイスとしてローカル ファイルをアップロードします。

Extension GA

az iot device send-d2c-message

mqtt device-to-cloud メッセージを送信します。

このコマンドは、Unicode 文字列またはバイナリ形式のカスタム ペイロードを使用したメッセージの送信をサポートしています。 バイナリを送信する場合、データは ( --data-file-path経由で) ファイルから取得し、コンテンツ タイプを application/octet-stream に設定する必要があります。

注: このコマンドは、対称キー認証 (SAS) ベースのデバイスでのみ機能します。 メッセージ ルーティングでメッセージ本文に対するクエリを有効にするには、コンテンツ タイプのシステム プロパティがアプリケーション/JSON である必要があり、コンテンツ エンコード システム プロパティは、そのシステム プロパティ (UTF-8、UTF-16、または UTF-32) でサポートされる UTF エンコード値のいずれかである必要があります。 Azure Storageがルーティング エンドポイントとして使用されるときにコンテンツ エンコードが設定されていない場合、IoT Hubは base 64 でエンコードされた形式でメッセージを書き込みます。 x509 認証方法を使用する場合は、証明書ファイルとキー ファイル (および必要に応じてパスフレーズ) を指定する必要があります。

az iot device send-d2c-message --device-id
                               [--acquire-policy-token]
                               [--certificate-file-path --cp]
                               [--change-reference]
                               [--da --data]
                               [--data-file-path --dfp]
                               [--dtmi --model-id]
                               [--hub-name]
                               [--key --symmetric-key]
                               [--key-file-path --kp]
                               [--login]
                               [--mc --msg-count]
                               [--pass --passphrase]
                               [--properties --props]
                               [--resource-group]

例

基本的な使用方法

az iot device send-d2c-message -n {iothub_name} -d {device_id}

'dtmi:com:example:Thermostat; のモデル ID を登録するデバイスの基本的な使用方法。接続時に 1'

az iot device send-d2c-message -n {iothub_name} -d {device_id} --model-id 'dtmi:com:example:Thermostat;1'

x509 認証を使用したデバイスの基本的な使用方法

az iot device send-d2c-message -n {iothub_name} -d {device_id} --cp {certificate_file_path} --kp {key_file_path}

キー ファイルにパスフレーズが含まれる x509 認証を使用したデバイスの基本的な使用方法

az iot device send-d2c-message -n {iothub_name} -d {device_id} --cp {certificate_file_path} --kp {key_file_path} --pass {passphrase}

カスタム データでの基本的な使用方法

az iot device send-d2c-message -n {iothub_name} -d {device_id} --data {message_body}

アプリケーションのプロパティを送信する

az iot device send-d2c-message -n {iothub_name} -d {device_id} --props 'key0=value0;key1=value1'

システム プロパティの送信 (メッセージ ID と関連付け ID)

az iot device send-d2c-message -n {iothub_name} -d {device_id} --props '$.mid={id};$.cid={id}'

システム プロパティでコンテンツ タイプとコンテンツ エンコードを指定してカスタム データを送信する

az iot device send-d2c-message -n {iothub_name} -d {device_id} --props '$.ct={content-type};$.ce={content-encoding}' --data {message_body}

システム プロパティでコンテンツ エンコードを指定して、カスタム データをバイナリ形式で送信する

az iot device send-d2c-message -n {iothub_name} -d {device_id} --props '$.ct=application/octet-stream' --data-file-path {file_path}

システム プロパティでコンテンツ タイプとコンテンツ エンコードを指定して JSON 形式でカスタム データを送信する

az iot device send-d2c-message -n {iothub_name} -d {device_id} --props '$.ct=application/json;$.ce=utf-8' --data-file-path {file_path}

必須パラメーター

--device-id -d

ターゲット デバイス ID。

オプションのパラメーター

次のパラメーターは省略可能ですが、コマンドを正常に実行するには、状況に応じて 1 つ以上が必要になる場合があります。

--acquire-policy-token

このリソース操作のAzure Policy トークンを自動的に取得します。

プロパティ 値
パラメーター グループ: Global Policy Arguments
--certificate-file-path --cp

証明書ファイルへのパス。

プロパティ 値
パラメーター グループ: Device Authentication Arguments
--change-reference

このリソース操作の関連する変更参照 ID。

プロパティ 値
パラメーター グループ: Global Policy Arguments
--da --data

メッセージ本文。 テキストまたは生の json を指定します。

プロパティ 値
規定値: Ping from Az CLI IoT Extension
--data-file-path --dfp
プレビュー

メッセージ本文ペイロードのファイルへのパスを指定します。 ペイロードをバイナリ形式で送信する必要がある場合は、コンテンツ タイプを application/octet-stream に設定してください。

--dtmi --model-id

ハブに接続するときにデバイスが報告するデジタル ツイン モデル ID。 詳細については、https://learn.microsoft.com/en-us/azure/iot-develop/overview-iot-plug-and-play を参照してください。

プロパティ 値
パラメーター グループ: Digital Twin Arguments
--hub-name -n

名前またはホスト名をIoT Hubします。 --login が指定されていない場合は必須。

プロパティ 値
パラメーター グループ: IoT Hub Identifier Arguments
--key --symmetric-key

デバイスに使用する対称キー。 対称キーとその他のデバイス認証引数が指定されている場合は、対称キーが優先されます。

プロパティ 値
パラメーター グループ: Device Authentication Arguments
--key-file-path --kp

キー ファイルへのパス。

プロパティ 値
パラメーター グループ: Device Authentication Arguments
--login -l

このコマンドは、アクションを実行する権限を持つエンティティ 接続文字列をサポートします。 "az login" によるセッション ログインを回避するために使用します。 エンティティ接続文字列と名前の両方が指定されている場合、接続文字列が優先されます。 --hub-name が指定されていない場合は必須です。

プロパティ 値
パラメーター グループ: IoT Hub Identifier Arguments
--mc --msg-count

IoT Hubに送信するデバイス メッセージの数。

プロパティ 値
規定値: 1
--pass --passphrase

キー ファイルのパスフレーズ。

プロパティ 値
パラメーター グループ: Device Authentication Arguments
--properties --props -p

次の形式のキーと値のペアのメッセージ プロパティ バッグ: a=b;c=d。 mqtt メッセージングの場合- $を使用してシステム プロパティを送信できます。{name}=value。 たとえば、$.cid=12345 はシステム相関 ID プロパティを設定します。 その他のシステム プロパティ識別子の例には、コンテンツ タイプの $.ct、メッセージ ID の$.mid、コンテンツ エンコード用の $.ce などがあります。

--resource-group -g

リソース グループの名前。 az configure --defaults group=<name>を使用して既定のグループを構成できます。

グローバル パラメーター
--debug

ログの詳細度を上げて、すべてのデバッグ ログを表示します。

プロパティ 値
規定値: False
--help -h

このヘルプ メッセージを表示して終了します。

--only-show-errors

エラーのみを表示し、警告を抑制します。

プロパティ 値
規定値: False
--output -o

出力フォーマット。

プロパティ 値
規定値: json
指定可能な値: json, jsonc, none, table, tsv, yaml, yamlc
--query

JMESPath クエリ文字列。 詳細と例については、http://jmespath.org/ を参照してください。

--subscription

サブスクリプションの名前または ID。 az account set -s NAME_OR_IDを使用して既定のサブスクリプションを構成できます。

--verbose

ログの詳細度を高める。 完全なデバッグ ログには --debug を使用します。

プロパティ 値
規定値: False

az iot device simulate

実験用

このコマンドは試験段階であり、開発中です。 参照レベルとサポート レベル: https://aka.ms/CLI_refstatus

Azure IoT Hubでデバイスをシミュレートします。

デバイス シミュレーションの実行中、デバイスは自動的に cloud-to-device (c2d) メッセージを受信して確認します。 mqtt シミュレーションの場合、すべての c2d メッセージが完了して確認されます。 http シミュレーションの c2d 受信確認は、完了、拒否、または破棄できるユーザーの選択に基づいています。 mqtt シミュレーションでは、応答状態コードと応答ペイロードで確認できるダイレクト メソッド呼び出しもサポートされています。 注: 既定では、このコマンドはコンテンツ タイプを application/json に設定し、content-encoding を utf-8 に設定します。 これはオーバーライドできます。 注: x509 認証方法を使用する場合は、証明書ファイルとキー ファイル (および必要に応じてパスフレーズ) を指定する必要があります。

az iot device simulate --device-id
                       [--acquire-policy-token]
                       [--certificate-file-path --cp]
                       [--change-reference]
                       [--da --data]
                       [--dtmi --model-id]
                       [--hub-name]
                       [--init-reported-properties --irp]
                       [--key --symmetric-key]
                       [--key-file-path --kp]
                       [--login]
                       [--mc --msg-count]
                       [--method-response-code --mrc]
                       [--method-response-payload --mrp]
                       [--mi --msg-interval]
                       [--pass --passphrase]
                       [--properties --props]
                       [--proto --protocol {http, mqtt}]
                       [--receive-settle --rs {abandon, complete, reject}]
                       [--resource-group]

例

基本的な使用法 (mqtt)

az iot device simulate -n {iothub_name} -d {device_id}

'dtmi:com:example:Thermostat; のモデル ID を登録するデバイスの基本的な使用方法。接続時に 1' (mqtt)

az iot device simulate -n {iothub_name} -d {device_id} --model-id 'dtmi:com:example:Thermostat;1'

x509 認証を使用したデバイスの基本的な使用方法 (mqtt)

az iot device simulate -n {iothub_name} -d {device_id} --cp {certificate_file_path} --kp {key_file_path}

キー ファイルにパスフレーズが含まれる x509 認証 (mqtt) を使用したデバイスの基本的な使用方法

az iot device simulate -n {iothub_name} -d {device_id} --cp {certificate_file_path} --kp {key_file_path} --pass {passphrase}

混合プロパティの送信 (mqtt)

az iot device simulate -n {iothub_name} -d {device_id} --properties "myprop=myvalue;$.ct=application/json"

ダイレクト メソッド応答状態コードとダイレクト メソッド応答ペイロードを生 json として送信する (mqtt のみ)

az iot device simulate -n {iothub_name} -d {device_id} --method-response-code 201 --method-response-payload '{"result":"Direct method successful"}'

ダイレクト メソッド応答状態コードとダイレクト メソッド応答ペイロードをローカル ファイルへのパスとして送信する (mqtt のみ)

az iot device simulate -n {iothub_name} -d {device_id} --method-response-code 201 --method-response-payload '../my_direct_method_payload.json'

デバイス ツインの報告されたプロパティの初期状態をターゲット デバイスの生の json として送信する (mqtt のみ)

az iot device simulate -n {iothub_name} -d {device_id} --init-reported-properties '{"reported_prop_1":"val_1", "reported_prop_2":val_2}'

デバイス ツインの報告されたプロパティの初期状態をターゲット デバイスのローカル ファイルへのパスとして送信する (mqtt のみ)

az iot device simulate -n {iothub_name} -d {device_id} --init-reported-properties '../my_device_twin_reported_properties.json'

基本的な使用方法 (http)

az iot device simulate -n {iothub_name} -d {device_id} --protocol http

混合プロパティの送信 (http)

az iot device simulate -n {iothub_name} -d {device_id} --protocol http --properties "iothub-app-myprop=myvalue;content-type=application/json;iothub-correlationid=12345"

メッセージの合計数とメッセージ間の間隔を選択する

az iot device simulate -n {iothub_name} -d {device_id} --msg-count 1000 --msg-interval 5

c2d メッセージを拒否する (http のみ)

az iot device simulate -n {iothub_name} -d {device_id} --rs reject --protocol http

c2d メッセージを破棄する (http のみ)

az iot device simulate -n {iothub_name} -d {device_id} --rs abandon --protocol http

必須パラメーター

--device-id -d

ターゲット デバイス ID。

オプションのパラメーター

次のパラメーターは省略可能ですが、コマンドを正常に実行するには、状況に応じて 1 つ以上が必要になる場合があります。

--acquire-policy-token

このリソース操作のAzure Policy トークンを自動的に取得します。

プロパティ 値
パラメーター グループ: Global Policy Arguments
--certificate-file-path --cp

証明書ファイルへのパス。

プロパティ 値
パラメーター グループ: Device Authentication Arguments
--change-reference

このリソース操作の関連する変更参照 ID。

プロパティ 値
パラメーター グループ: Global Policy Arguments
--da --data

メッセージ本文。 テキストまたは生の json を指定します。

プロパティ 値
規定値: Ping from Az CLI IoT Extension
--dtmi --model-id

ハブに接続するときにデバイスが報告するデジタル ツイン モデル ID。 詳細については、https://learn.microsoft.com/en-us/azure/iot-develop/overview-iot-plug-and-play を参照してください。

プロパティ 値
パラメーター グループ: Digital Twin Arguments
--hub-name -n

名前またはホスト名をIoT Hubします。 --login が指定されていない場合は必須。

プロパティ 値
パラメーター グループ: IoT Hub Identifier Arguments
--init-reported-properties --irp

シミュレーターの実行時にターゲット デバイスのツインによって報告されるプロパティの初期状態。 省略可能なパラメーター。mqtt でのみサポートされます。

--key --symmetric-key

デバイスに使用する対称キー。 対称キーとその他のデバイス認証引数が指定されている場合は、対称キーが優先されます。

プロパティ 値
パラメーター グループ: Device Authentication Arguments
--key-file-path --kp

キー ファイルへのパス。

プロパティ 値
パラメーター グループ: Device Authentication Arguments
--login -l

このコマンドは、アクションを実行する権限を持つエンティティ 接続文字列をサポートします。 "az login" によるセッション ログインを回避するために使用します。 エンティティ接続文字列と名前の両方が指定されている場合、接続文字列が優先されます。 --hub-name が指定されていない場合は必須です。

プロパティ 値
パラメーター グループ: IoT Hub Identifier Arguments
--mc --msg-count

IoT Hubに送信するデバイス メッセージの数。

プロパティ 値
規定値: 100
--method-response-code --mrc

ダイレクト メソッドがデバイスで実行されたときに返される状態コード。 省略可能なパラメーター。mqtt でのみサポートされます。

--method-response-payload --mrp

ダイレクト メソッドがデバイスで実行されたときに返されるペイロード。 ファイル パスまたは生の json を指定します。 省略可能なパラメーター。mqtt でのみサポートされます。

--mi --msg-interval

デバイスからクラウドへのメッセージ間の遅延 (秒単位)。

プロパティ 値
規定値: 3
--pass --passphrase

キー ファイルのパスフレーズ。

プロパティ 値
パラメーター グループ: Device Authentication Arguments
--properties --props -p

次の形式のキーと値のペアのメッセージ プロパティ バッグ: a=b;c=d。 mqtt メッセージングの場合- $を使用してシステム プロパティを送信できます。{name}=value。 たとえば、$.cid=12345 はシステム相関 ID プロパティを設定します。 その他のシステム プロパティ識別子の例には、コンテンツ タイプの $.ct、メッセージ ID の$.mid、コンテンツ エンコード用の $.ce などがあります。 http メッセージングの場合、アプリケーションのプロパティは iothub-app-{name}=value (例: iothub-app-myprop=myvalue) を使用して送信されます。 通常、システム プロパティには iothub-correlationid のような iothub-{name} というプレフィックスが付けられますが、コンテンツ タイプやコンテンツ エンコードなどの例外があります。

--proto --protocol

デバイスからクラウドへのメッセージ プロトコルを示します。

プロパティ 値
規定値: mqtt
指定可能な値: http, mqtt
--receive-settle --rs

受信したクラウドからデバイスへのメッセージを解決する方法を示します。 HTTP でのみサポートされます。

プロパティ 値
規定値: complete
指定可能な値: abandon, complete, reject
--resource-group -g

リソース グループの名前。 az configure --defaults group=<name>を使用して既定のグループを構成できます。

グローバル パラメーター
--debug

ログの詳細度を上げて、すべてのデバッグ ログを表示します。

プロパティ 値
規定値: False
--help -h

このヘルプ メッセージを表示して終了します。

--only-show-errors

エラーのみを表示し、警告を抑制します。

プロパティ 値
規定値: False
--output -o

出力フォーマット。

プロパティ 値
規定値: json
指定可能な値: json, jsonc, none, table, tsv, yaml, yamlc
--query

JMESPath クエリ文字列。 詳細と例については、http://jmespath.org/ を参照してください。

--subscription

サブスクリプションの名前または ID。 az account set -s NAME_OR_IDを使用して既定のサブスクリプションを構成できます。

--verbose

ログの詳細度を高める。 完全なデバッグ ログには --debug を使用します。

プロパティ 値
規定値: False

az iot device upload-file

事前構成済みの BLOB ストレージ コンテナーに、デバイスとしてローカル ファイルをアップロードします。

az iot device upload-file --content-type --ct
                          --device-id
                          --file-path --fp
                          [--acquire-policy-token]
                          [--change-reference]
                          [--hub-name]
                          [--login]
                          [--resource-group]

必須パラメーター

--content-type --ct

MIME ファイルの種類。

--device-id -d

ターゲット デバイス ID。

--file-path --fp

アップロードするファイルへのパス。

オプションのパラメーター

次のパラメーターは省略可能ですが、コマンドを正常に実行するには、状況に応じて 1 つ以上が必要になる場合があります。

--acquire-policy-token

このリソース操作のAzure Policy トークンを自動的に取得します。

プロパティ 値
パラメーター グループ: Global Policy Arguments
--change-reference

このリソース操作の関連する変更参照 ID。

プロパティ 値
パラメーター グループ: Global Policy Arguments
--hub-name -n

名前またはホスト名をIoT Hubします。 --login が指定されていない場合は必須。

プロパティ 値
パラメーター グループ: IoT Hub Identifier Arguments
--login -l

このコマンドは、アクションを実行する権限を持つエンティティ 接続文字列をサポートします。 "az login" によるセッション ログインを回避するために使用します。 エンティティ接続文字列と名前の両方が指定されている場合、接続文字列が優先されます。 --hub-name が指定されていない場合は必須です。

プロパティ 値
パラメーター グループ: IoT Hub Identifier Arguments
--resource-group -g

リソース グループの名前。 az configure --defaults group=<name>を使用して既定のグループを構成できます。

グローバル パラメーター
--debug

ログの詳細度を上げて、すべてのデバッグ ログを表示します。

プロパティ 値
規定値: False
--help -h

このヘルプ メッセージを表示して終了します。

--only-show-errors

エラーのみを表示し、警告を抑制します。

プロパティ 値
規定値: False
--output -o

出力フォーマット。

プロパティ 値
規定値: json
指定可能な値: json, jsonc, none, table, tsv, yaml, yamlc
--query

JMESPath クエリ文字列。 詳細と例については、http://jmespath.org/ を参照してください。

--subscription

サブスクリプションの名前または ID。 az account set -s NAME_OR_IDを使用して既定のサブスクリプションを構成できます。

--verbose

ログの詳細度を高める。 完全なデバッグ ログには --debug を使用します。

プロパティ 値
規定値: False