az iot device
注意
此參考是 Azure CLI 的 azure-iot 延伸模組的一部分 (2.37.0 版或更高版本)。 擴充功能會在您第一次執行 az iot device 命令時自動安裝。 深入了解擴充功能。
利用裝置模擬和其他以裝置為中心的作業,例如裝置到雲端或雲端到裝置傳訊功能。
命令
名稱 | Description | 類型 | 狀態 |
---|---|---|---|
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 |
清除目標裝置的雲端到裝置訊息佇列。 |
擴充 | 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 裝置布建服務的 IoT 裝置註冊。 |
擴充 | 預覽版 |
az iot device registration create |
向 IoT 裝置布建服務註冊 IoT 裝置。 |
擴充 | 預覽版 |
az iot device send-d2c-message |
傳送 mqtt 裝置到雲端訊息。 |
擴充 | GA |
az iot device simulate |
模擬Azure IoT 中樞中的裝置。 |
擴充 | 實驗性 |
az iot device upload-file |
將本機檔案作為裝置上傳至預先設定的 Blob 儲存體容器。 |
擴充 | GA |
az iot device send-d2c-message
傳送 mqtt 裝置到雲端訊息。
此命令支援以 Unicode 字串或二進位格式傳送具有自訂承載的訊息。 當想要傳送二進位檔時,資料應該來自檔案(透過 --data-file-path
),而內容類型應該設定為 application/octet-stream
。
注意:此命令僅適用于對稱金鑰驗證 (SAS) 型裝置。 若要在訊息路由中啟用訊息本文的查詢,contentType 系統屬性必須是 application/JSON,而 contentEncoding 系統屬性必須是該系統屬性支援的其中一個 UTF 編碼值(UTF-8、UTF-16 或 UTF-32)。 如果在Azure 儲存體做為路由端點時未設定內容編碼,則IoT 中樞以基底 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' 模型識別碼之裝置的基本用法;連線時為 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'
傳送系統屬性 (訊息識別碼和相互關聯識別碼)
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}
必要參數
目標裝置識別碼。
選擇性參數
憑證檔案的路徑。
訊息本文。 提供文字或原始 JSON。
提供訊息本文承載的檔案路徑。 請注意,當承載需要以二進位格式傳送時,請將內容類型設定為 application/octet-stream。
連線到中樞時,裝置將會回報的數位對應項模型識別碼。 如需詳細資訊,請參閱 https://docs.microsoft.com/en-us/azure/iot-develop/overview-iot-plug-and-play。
IoT 中樞名稱或主機名稱。 如果未提供 --login,則為必要項。
要用於裝置的對稱金鑰。 如果提供對稱金鑰和其他裝置驗證引數,對稱金鑰會優先使用。
金鑰檔案的路徑。
此命令支援具有執行動作許可權的實體連接字串。 使用 來避免透過 「az login」 的會話登入。 如果提供實體連接字串和名稱,則連接字串優先。 如果未提供 --hub-name,則為必要專案。
要傳送至IoT 中樞的裝置訊息數目。
金鑰檔案的複雜密碼。
機碼/值組中具有下列格式的 Message 屬性包:a=b;c=d。 針對 mqtt 傳訊 - 您可以使用 $.=value 來傳送系統屬性。 例如 $.cid=12345 會設定系統相互關聯識別碼屬性。 其他系統屬性識別碼範例包括內容類型的 $.ct、訊息識別碼的 $.mid,以及內容編碼的 $.ce。
資源組名。 您可以使用 來設定預設群組 az configure --defaults group=<name>
。
全域參數
增加記錄詳細資訊,以顯示所有偵錯記錄。
顯示此說明訊息並結束。
只顯示錯誤,隱藏警告。
輸出格式。
JMESPath 查詢字串。 如需詳細資訊和範例,請參閱 http://jmespath.org/。
訂用帳戶的名稱或識別碼。 您可以使用 來設定預設訂用 az account set -s NAME_OR_ID
帳戶。
增加記錄詳細資訊。 使用 --debug 來取得完整偵錯記錄。
az iot device simulate
此命令是實驗性且正在開發中。 參考和支援層級: https://aka.ms/CLI_refstatus
模擬Azure IoT 中樞中的裝置。
當裝置模擬執行時,裝置會自動接收並確認雲端到裝置 (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' 模型識別碼之裝置的基本用法;連接時為 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
必要參數
目標裝置識別碼。
選擇性參數
憑證檔案的路徑。
訊息本文。 提供文字或原始 JSON。
連線到中樞時,裝置將會回報的數位對應項模型識別碼。 如需詳細資訊,請參閱 https://docs.microsoft.com/en-us/azure/iot-develop/overview-iot-plug-and-play。
IoT 中樞名稱或主機名稱。 如果未提供 --login,則為必要項。
執行模擬器時,目標裝置的對應項報告屬性的初始狀態。 選擇性參數,僅支援 mqtt。
要用於裝置的對稱金鑰。 如果提供對稱金鑰和其他裝置驗證引數,對稱金鑰會優先使用。
金鑰檔案的路徑。
此命令支援具有執行動作許可權的實體連接字串。 使用 來避免透過 「az login」 的會話登入。 如果提供實體連接字串和名稱,則連接字串優先。 如果未提供 --hub-name,則為必要專案。
要傳送至IoT 中樞的裝置訊息數目。
在裝置上執行直接方法時要傳回的狀態碼。 選擇性參數,僅支援 mqtt。
在裝置上執行直接方法時要傳回的承載。 提供檔案路徑或原始 JSON。 選擇性參數,僅支援 mqtt。
在裝置到雲端訊息之間的秒數延遲。
金鑰檔案的複雜密碼。
機碼/值組中具有下列格式的 Message 屬性包:a=b;c=d。 針對 mqtt 傳訊 - 您可以使用 $.=value 來傳送系統屬性。 例如 $.cid=12345 會設定系統相互關聯識別碼屬性。 其他系統屬性識別碼範例包括內容類型的 $.ct、訊息識別碼的 $.mid,以及內容編碼的 $.ce。 針對 HTTP 訊息 - 應用程式屬性是使用 iothub-app-=value 傳送,例如 iothub-app-myprop=myvalue。 系統屬性通常會加上 iothub-like iothub-correlationid,但有內容類型和內容編碼等例外狀況。
指出裝置到雲端訊息通訊協定。
指出如何解決已接收的雲端到裝置訊息。 僅支援 HTTP。
資源組名。 您可以使用 來設定預設群組 az configure --defaults group=<name>
。
全域參數
增加記錄詳細資訊,以顯示所有偵錯記錄。
顯示此說明訊息並結束。
只顯示錯誤,隱藏警告。
輸出格式。
JMESPath 查詢字串。 如需詳細資訊和範例,請參閱 http://jmespath.org/。
訂用帳戶的名稱或識別碼。 您可以使用 來設定預設訂用 az account set -s NAME_OR_ID
帳戶。
增加記錄詳細資訊。 使用 --debug 來取得完整偵錯記錄。
az iot device upload-file
將本機檔案作為裝置上傳至預先設定的 Blob 儲存體容器。
az iot device upload-file --content-type
--device-id
--file-path
[--hub-name]
[--login]
[--resource-group]
必要參數
MIME 檔案類型。
目標裝置識別碼。
要上傳的檔案路徑。
選擇性參數
IoT 中樞名稱或主機名稱。 如果未提供 --login,則為必要項。
此命令支援具有執行動作許可權的實體連接字串。 使用 來避免透過 「az login」 的會話登入。 如果提供實體連接字串和名稱,則連接字串優先。 如果未提供 --hub-name,則為必要專案。
資源組名。 您可以使用 來設定預設群組 az configure --defaults group=<name>
。
全域參數
增加記錄詳細資訊,以顯示所有偵錯記錄。
顯示此說明訊息並結束。
只顯示錯誤,隱藏警告。
輸出格式。
JMESPath 查詢字串。 如需詳細資訊和範例,請參閱 http://jmespath.org/。
訂用帳戶的名稱或識別碼。 您可以使用 來設定預設訂用 az account set -s NAME_OR_ID
帳戶。
增加記錄詳細資訊。 使用 --debug 來取得完整偵錯記錄。
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應