az iot device c2d-message

注意

此參考是 Azure CLI 的 azure-iot 延伸模組的一部分 (2.37.0 版或更高版本)。 擴充功能會在您第一次執行 az iot device c2d-message 命令時自動安裝。 深入了解擴充功能。

雲端到裝置傳訊命令。

命令

名稱 Description 類型 狀態
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 c2d-message abandon

放棄雲端到裝置訊息。

az iot device c2d-message abandon --device-id
                                  [--etag]
                                  [--hub-name]
                                  [--login]
                                  [--resource-group]

必要參數

--device-id -d

目標裝置識別碼。

選擇性參數

--etag -e

對應至資源最後狀態的 Etag 或實體標記。 如果未提供任何 etag,則會使用 '*' 值。

--hub-name -n

IoT 中樞名稱或主機名稱。 如果未提供 --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

訂用帳戶的名稱或識別碼。 您可以使用 來設定預設訂用 az account set -s NAME_OR_ID 帳戶。

--verbose

增加記錄詳細資訊。 使用 --debug 來取得完整偵錯記錄。

az iot device c2d-message complete

完成雲端到裝置訊息。

az iot device c2d-message complete --device-id
                                   [--etag]
                                   [--hub-name]
                                   [--login]
                                   [--resource-group]

必要參數

--device-id -d

目標裝置識別碼。

選擇性參數

--etag -e

對應至資源最後狀態的 Etag 或實體標記。 如果未提供任何 etag,則會使用 '*' 值。

--hub-name -n

IoT 中樞名稱或主機名稱。 如果未提供 --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

訂用帳戶的名稱或識別碼。 您可以使用 來設定預設訂用 az account set -s NAME_OR_ID 帳戶。

--verbose

增加記錄詳細資訊。 使用 --debug 來取得完整偵錯記錄。

az iot device c2d-message purge

清除目標裝置的雲端到裝置訊息佇列。

az iot device c2d-message purge --device-id
                                [--hub-name]
                                [--login]
                                [--resource-group]

必要參數

--device-id -d

目標裝置識別碼。

選擇性參數

--hub-name -n

IoT 中樞名稱或主機名稱。 如果未提供 --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

訂用帳戶的名稱或識別碼。 您可以使用 來設定預設訂用 az account set -s NAME_OR_ID 帳戶。

--verbose

增加記錄詳細資訊。 使用 --debug 來取得完整偵錯記錄。

az iot device c2d-message receive

接收雲端到裝置訊息。

只有在接收的郵件本文設定為 'utf-8'、'utf-16' 或 'utf-32' 時,才會將接收的訊息本文解碼。 當內容編碼未設定為上述其中一個時,訊息承載會顯示為 {{不可解碼的承載}},或即使內容編碼設定為上述其中一項,也不會解碼。

注意:只會接受一個訊息 ack 引數 [--complete, --reject, --abandon] 。

az iot device c2d-message receive --device-id
                                  [--abandon {false, true}]
                                  [--complete {false, true}]
                                  [--hub-name]
                                  [--lock-timeout]
                                  [--login]
                                  [--reject {false, true}]
                                  [--resource-group]

範例

基本使用方式

az iot device c2d-message receive -d {device_id} -n {hub_name} -g {resource_group}

接收訊息並設定該訊息的鎖定逾時 30 秒

az iot device c2d-message receive -d {device_id} -n {hub_name} -g {resource_group} --lt {30}

接收訊息,並在收到訊息後將其標記為「完成」

az iot device c2d-message receive -d {device_id} -n {hub_name} -g {resource_group} --complete

接收訊息並在收到訊息後予以拒絕

az iot device c2d-message receive -d {device_id} -n {hub_name} -g {resource_group} --reject

必要參數

--device-id -d

目標裝置識別碼。

選擇性參數

--abandon

在收到後放棄雲端到裝置訊息。

接受的值: false, true
預設值: False
--complete

在收到之後完成雲端到裝置訊息。

接受的值: false, true
預設值: False
--hub-name -n

IoT 中樞名稱或主機名稱。 如果未提供 --login,則為必要項。

--lock-timeout --lt

指定其他接收呼叫看不到訊息的時間量。

預設值: 60
--login -l

此命令支援具有執行動作許可權的實體連接字串。 使用 來避免透過 「az login」 的會話登入。 如果提供實體連接字串和名稱,則連接字串優先。 如果未提供 --hub-name,則為必要專案。

--reject

在收到後拒絕雲端到裝置訊息。

接受的值: false, true
預設值: False
--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

訂用帳戶的名稱或識別碼。 您可以使用 來設定預設訂用 az account set -s NAME_OR_ID 帳戶。

--verbose

增加記錄詳細資訊。 使用 --debug 來取得完整偵錯記錄。

az iot device c2d-message reject

拒絕或使雲端到裝置訊息失效。

az iot device c2d-message reject --device-id
                                 [--etag]
                                 [--hub-name]
                                 [--login]
                                 [--resource-group]

必要參數

--device-id -d

目標裝置識別碼。

選擇性參數

--etag -e

對應至資源最後狀態的 Etag 或實體標記。 如果未提供任何 etag,則會使用 '*' 值。

--hub-name -n

IoT 中樞名稱或主機名稱。 如果未提供 --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

訂用帳戶的名稱或識別碼。 您可以使用 來設定預設訂用 az account set -s NAME_OR_ID 帳戶。

--verbose

增加記錄詳細資訊。 使用 --debug 來取得完整偵錯記錄。

az iot device c2d-message send

傳送雲端到裝置訊息。

此命令依賴 ,而且可能會在第一次執行時安裝相依的 Cython 套件 (uamqp)。 https://github.com/Azure/azure-uamqp-python

注意:內容編碼預設為 utf-8。 當 content-encoding 屬性為 utf-8、utf-16 或 utf-32 時,此命令會傳送具有編碼動作的訊息本文。 如果內容編碼值不是其中之一,則屬性仍會傳送,而不會採取編碼動作。

傳送二進位訊息本文時,必須從檔案 (透過 --data-file-path ) 提供內容,而且內容類型必須設定為 application/octet-stream

az iot device c2d-message send --device-id
                               [--ack {full, negative, positive}]
                               [--auth-type {key, login}]
                               [--ce]
                               [--cid]
                               [--content-type]
                               [--da]
                               [--data-file-path]
                               [--expiry]
                               [--hub-name]
                               [--login]
                               [--message-id]
                               [--properties]
                               [--repair {false, true}]
                               [--resource-group]
                               [--uid]
                               [--wait {false, true}]
                               [--yes {false, true}]

範例

預設訊息本文的基本用法

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

使用自訂資料和屬性傳送雲端到裝置訊息。

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

傳送 C2D 訊息並等候裝置通知

az iot device c2d-message send -d {device_id} -n {iothub_name} --ack full --wait

從檔案傳送二進位格式的 C2D 訊息。

az iot device c2d-message send -d {device_id} -n {iothub_name} --data-file-path {file_path} --content-type 'application/octet-stream'

從檔案傳送 JSON 格式的 C2D 訊息。

az iot device c2d-message send -d {device_id} -n {iothub_name} --data-file-path {file_path} --content-type 'application/json'

必要參數

--device-id -d

目標裝置識別碼。

選擇性參數

--ack

要求傳遞每個訊息的意見反應,以取得該訊息的最終狀態。 ack 值的描述如下。 正數:如果 c2d 訊息達到已完成狀態,IoT 中樞會產生意見反應訊息。 負數:如果 c2d 訊息達到寄不出的信件狀態,IoT 中樞會產生意見反應訊息。 完整:IoT 中樞在任一情況下產生意見反應訊息。 根據預設,不會要求任何 ack。

接受的值: full, negative, positive
--auth-type

指出作業是否應該自動衍生原則金鑰,或使用目前的 Azure AD 會話。 如果驗證類型是登入,而且會提供資源主機名稱,除非需要,否則將會略過資源查閱。您可以使用 來設定預設值 az configure --defaults iothub-data-auth-type=<auth-type-value>

接受的值: key, login
預設值: key
--ce --content-encoding

C2D 訊息本文的編碼方式。

預設值: utf-8
--cid --correlation-id

與 C2D 訊息相關聯的相互關聯識別碼。

--content-type --ct

C2D 訊息本文的內容類型。

--da --data

訊息本文。 提供文字或原始 JSON。

預設值: Ping from Az CLI IoT Extension
--data-file-path --dfp
預覽

提供訊息本文承載的檔案路徑。 請注意,當承載需要以二進位格式傳送時,請將內容類型設定為 application/octet-stream。

--expiry --expiry-time-utc

單位是 unix epoch 之後的毫秒數。 如果未指出任何時間,則會使用預設IoT 中樞 C2D 訊息 TTL。

--hub-name -n

IoT 中樞名稱或主機名稱。 如果未提供 --login,則為必要項。

--login -l

此命令支援具有執行動作許可權的實體連接字串。 使用 來避免透過 「az login」 的會話登入。 如果提供實體連接字串和名稱,則連接字串優先。 如果未提供 --hub-name,則為必要專案。

--message-id --mid

C2D 訊息識別碼。如果未提供任何訊息識別碼,則會產生 UUID。

--properties --props -p

機碼/值組中具有下列格式的 Message 屬性包:a=b;c=d。

--repair -r

重新安裝與擴充功能版本相容的 uamqp 相依性。 預設:false。

接受的值: false, true
預設值: False
--resource-group -g

資源組名。 您可以使用 來設定預設群組 az configure --defaults group=<name>

--uid --user-id

C2D 訊息,使用者識別碼屬性。

--wait -w

如果設定 c2d 傳送作業將會封鎖,直到收到裝置意見反應為止。

接受的值: false, true
預設值: False
--yes -y

略過使用者提示。 表示接受動作。 主要用於自動化案例。 預設:false。

接受的值: false, true
預設值: False
全域參數
--debug

增加記錄詳細資訊,以顯示所有偵錯記錄。

--help -h

顯示此說明訊息並結束。

--only-show-errors

只顯示錯誤,隱藏警告。

--output -o

輸出格式。

接受的值: json, jsonc, none, table, tsv, yaml, yamlc
預設值: json
--query

JMESPath 查詢字串。 如需詳細資訊和範例,請參閱 http://jmespath.org/

--subscription

訂用帳戶的名稱或識別碼。 您可以使用 來設定預設訂用 az account set -s NAME_OR_ID 帳戶。

--verbose

增加記錄詳細資訊。 使用 --debug 來取得完整偵錯記錄。