Share via


az iot device

Note

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

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

コマンド

名前 説明 Status
az iot device c2d-message

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

拡張 GA
az iot device c2d-message abandon

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

拡張 GA
az iot device c2d-message complete

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

拡張 GA
az iot device c2d-message purge

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

拡張 GA
az iot device c2d-message receive

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

拡張 GA
az iot device c2d-message reject

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

拡張 GA
az iot device c2d-message send

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

拡張 GA
az iot device registration

IoT Device Provisioning Service の IoT デバイス登録を管理します。

拡張 プレビュー
az iot device registration create

IoT デバイスを IoT Device Provisioning Service に登録します。

拡張 プレビュー
az iot device send-d2c-message

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

拡張 GA
az iot device simulate

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

拡張 Experimental
az iot device upload-file

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

拡張 GA

az iot device send-d2c-message

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

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

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

az iot device send-d2c-message --device-id
                               [--certificate-file-path]
                               [--da]
                               [--data-file-path]
                               [--dtmi]
                               [--hub-name]
                               [--key]
                               [--key-file-path]
                               [--login]
                               [--mc]
                               [--pass]
                               [--properties]
                               [--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。

省略可能のパラメーター

--certificate-file-path --cp

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

--da --data

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

既定値: Ping from Az CLI IoT Extension
--data-file-path --dfp
プレビュー

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

--dtmi --model-id

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

--hub-name -n

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

--key --symmetric-key

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

--key-file-path --kp

キー ファイルへのパス。

--login -l

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

--mc --msg-count

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

既定値: 1
--pass --passphrase

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

--properties --props -p

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

--resource-group -g

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

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

すべてのデバッグ ログを表示するようにログの詳細レベルを上げます。

--help -h

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

--only-show-errors

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

--output -o

出力形式。

承認された値: json, jsonc, none, table, tsv, yaml, yamlc
既定値: json
--query

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

--subscription

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

--verbose

ログの詳細レベルを上げます。 詳細なデバッグ ログを表示するには --debug を使います。

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
                       [--certificate-file-path]
                       [--da]
                       [--dtmi]
                       [--hub-name]
                       [--init-reported-properties]
                       [--key]
                       [--key-file-path]
                       [--login]
                       [--mc]
                       [--method-response-code]
                       [--method-response-payload]
                       [--mi]
                       [--pass]
                       [--properties]
                       [--proto {http, mqtt}]
                       [--receive-settle {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。

省略可能のパラメーター

--certificate-file-path --cp

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

--da --data

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

既定値: Ping from Az CLI IoT Extension
--dtmi --model-id

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

--hub-name -n

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

--init-reported-properties --irp

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

--key --symmetric-key

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

--key-file-path --kp

キー ファイルへのパス。

--login -l

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

--mc --msg-count

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

既定値: 100
--method-response-code --mrc

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

--method-response-payload --mrp

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

--mi --msg-interval

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

既定値: 3
--pass --passphrase

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

--properties --props -p

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

--proto --protocol

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

承認された値: http, mqtt
既定値: mqtt
--receive-settle --rs

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

承認された値: abandon, complete, reject
既定値: complete
--resource-group -g

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

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

すべてのデバッグ ログを表示するようにログの詳細レベルを上げます。

--help -h

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

--only-show-errors

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

--output -o

出力形式。

承認された値: json, jsonc, none, table, tsv, yaml, yamlc
既定値: json
--query

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

--subscription

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

--verbose

ログの詳細レベルを上げます。 詳細なデバッグ ログを表示するには --debug を使います。

az iot device upload-file

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

az iot device upload-file --content-type
                          --device-id
                          --file-path
                          [--hub-name]
                          [--login]
                          [--resource-group]

必須のパラメーター

--content-type --ct

MIME ファイルの種類。

--device-id -d

ターゲット デバイス ID。

--file-path --fp

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

省略可能のパラメーター

--hub-name -n

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

--login -l

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

--resource-group -g

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

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

すべてのデバッグ ログを表示するようにログの詳細レベルを上げます。

--help -h

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

--only-show-errors

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

--output -o

出力形式。

承認された値: json, jsonc, none, table, tsv, yaml, yamlc
既定値: json
--query

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

--subscription

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

--verbose

ログの詳細レベルを上げます。 詳細なデバッグ ログを表示するには --debug を使います。