az iot device c2d-message
注意
此參考是 Azure CLI 的 azure-iot 延伸模組的一部分(2.46.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]
必要參數
目標裝置標識碼。
選擇性參數
對應至資源最後狀態的 Etag 或實體標記。 如果未提供任何 etag,則會使用 『*』 值。
IoT 中樞 名稱或主機名。 如果未提供 --login,則為必要項。
此命令支援具有執行動作許可權的實體 連接字串。 使用來避免透過 「az login」 的工作階段登入。 如果提供實體 連接字串 和名稱,則 連接字串 優先使用。 如果未提供 --hub-name,則為必要專案。
資源群組的名稱。 您可以使用 az configure --defaults group=<name>
來設定預設群組。
全域參數
增加記錄詳細資訊,以顯示所有偵錯記錄。
顯示此說明訊息並結束。
只顯示錯誤,隱藏警告。
輸出格式。
JMESPath 查詢字串。 如需詳細資訊和範例,請參閱 http://jmespath.org/。
訂用帳戶的名稱或識別碼。 您可以使用 az account set -s NAME_OR_ID
設定預設訂用帳戶。
增加記錄詳細資訊。 使用 --debug 來取得完整偵錯記錄。
az iot device c2d-message complete
完成雲端到裝置訊息。
az iot device c2d-message complete --device-id
[--etag]
[--hub-name]
[--login]
[--resource-group]
必要參數
目標裝置標識碼。
選擇性參數
對應至資源最後狀態的 Etag 或實體標記。 如果未提供任何 etag,則會使用 『*』 值。
IoT 中樞 名稱或主機名。 如果未提供 --login,則為必要項。
此命令支援具有執行動作許可權的實體 連接字串。 使用來避免透過 「az login」 的工作階段登入。 如果提供實體 連接字串 和名稱,則 連接字串 優先。 如果未提供 --hub-name,則為必要專案。
資源群組的名稱。 您可以使用 az configure --defaults group=<name>
來設定預設群組。
全域參數
增加記錄詳細資訊,以顯示所有偵錯記錄。
顯示此說明訊息並結束。
只顯示錯誤,隱藏警告。
輸出格式。
JMESPath 查詢字串。 如需詳細資訊和範例,請參閱 http://jmespath.org/。
訂用帳戶的名稱或識別碼。 您可以使用 az account set -s NAME_OR_ID
設定預設訂用帳戶。
增加記錄詳細資訊。 使用 --debug 來取得完整偵錯記錄。
az iot device c2d-message purge
清除目標裝置的雲端到裝置消息佇列。
az iot device c2d-message purge --device-id
[--hub-name]
[--login]
[--resource-group]
必要參數
目標裝置標識碼。
選擇性參數
IoT 中樞 名稱或主機名。 如果未提供 --login,則為必要項。
此命令支援具有執行動作許可權的實體 連接字串。 使用來避免透過 「az login」 的工作階段登入。 如果提供實體 連接字串 和名稱,則 連接字串 優先使用。 如果未提供 --hub-name,則為必要專案。
資源群組的名稱。 您可以使用 az configure --defaults group=<name>
來設定預設群組。
全域參數
增加記錄詳細資訊,以顯示所有偵錯記錄。
顯示此說明訊息並結束。
只顯示錯誤,隱藏警告。
輸出格式。
JMESPath 查詢字串。 如需詳細資訊和範例,請參閱 http://jmespath.org/。
訂用帳戶的名稱或識別碼。 您可以使用 az account set -s NAME_OR_ID
設定預設訂用帳戶。
增加記錄詳細資訊。 使用 --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
必要參數
目標裝置標識碼。
選擇性參數
在收到後放棄雲端到裝置訊息。
在收到之後完成雲端到裝置訊息。
IoT 中樞 名稱或主機名。 如果未提供 --login,則為必要項。
指定其他接收呼叫看不到訊息的時間量。
此命令支援具有執行動作許可權的實體 連接字串。 使用來避免透過 「az login」 的工作階段登入。 如果同時提供實體 連接字串 和名稱,則 連接字串 優先。 如果未提供 --hub-name,則為必要專案。
在收到後拒絕雲端到裝置訊息。
資源群組的名稱。 您可以使用 az configure --defaults group=<name>
來設定預設群組。
全域參數
增加記錄詳細資訊,以顯示所有偵錯記錄。
顯示此說明訊息並結束。
只顯示錯誤,隱藏警告。
輸出格式。
JMESPath 查詢字串。 如需詳細資訊和範例,請參閱 http://jmespath.org/。
訂用帳戶的名稱或識別碼。 您可以使用 az account set -s NAME_OR_ID
設定預設訂用帳戶。
增加記錄詳細資訊。 使用 --debug 來取得完整偵錯記錄。
az iot device c2d-message reject
拒絕或使雲端到裝置訊息失效。
az iot device c2d-message reject --device-id
[--etag]
[--hub-name]
[--login]
[--resource-group]
必要參數
目標裝置標識碼。
選擇性參數
對應至資源最後狀態的 Etag 或實體標記。 如果未提供任何 etag,則會使用 『*』 值。
IoT 中樞 名稱或主機名。 如果未提供 --login,則為必要項。
此命令支援具有執行動作許可權的實體 連接字串。 使用來避免透過 「az login」 的工作階段登入。 如果提供實體 連接字串 和名稱,則 連接字串 優先。 如果未提供 --hub-name,則為必要專案。
資源群組的名稱。 您可以使用 az configure --defaults group=<name>
來設定預設群組。
全域參數
增加記錄詳細資訊,以顯示所有偵錯記錄。
顯示此說明訊息並結束。
只顯示錯誤,隱藏警告。
輸出格式。
JMESPath 查詢字串。 如需詳細資訊和範例,請參閱 http://jmespath.org/。
訂用帳戶的名稱或識別碼。 您可以使用 az account set -s NAME_OR_ID
設定預設訂用帳戶。
增加記錄詳細資訊。 使用 --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'
必要參數
目標裝置標識碼。
選擇性參數
要求傳遞每個訊息的意見反應,以取得該訊息的最終狀態。 ack 值的描述如下。 正數:如果 c2d 訊息達到 [已完成] 狀態,IoT 中樞 會產生意見反應訊息。 負數:如果 c2d 訊息達到寄不出的信件狀態,IoT 中樞 會產生意見反應訊息。 完整:IoT 中樞 在任一情況下產生意見反應訊息。 根據預設,不會要求任何 ack。
指出作業是否應該自動衍生原則密鑰,或使用目前的 Azure AD 工作階段。 如果驗證類型是登入,而且會提供資源主機名,除非需要,否則將會略過資源查閱。您可以使用 來設定預設值 az configure --defaults iothub-data-auth-type=<auth-type-value>
。
C2D 訊息本文的編碼方式。
與 C2D 訊息相關聯的相互關聯標識碼。
C2D 訊息本文的內容類型。
訊息本文。 提供文字或原始 JSON。
提供訊息本文承載的檔案路徑。 請注意,當承載需要以二進位格式傳送時,請將內容類型設定為 application/octet-stream。
單位是 unix epoch 之後的毫秒數。 如果未指出任何時間,則會使用預設 IoT 中樞 C2D 訊息 TTL。
IoT 中樞 名稱或主機名。 如果未提供 --login,則為必要項。
此命令支援具有執行動作許可權的實體 連接字串。 使用來避免透過 「az login」 的工作階段登入。 如果提供實體 連接字串 和名稱,則 連接字串 優先。 如果未提供 --hub-name,則為必要專案。
C2D 訊息識別碼。如果未提供任何訊息標識碼,則會產生 UUID。
機碼/值組中具有下列格式的 Message 屬性包:a=b;c=d。
重新安裝與擴充功能版本相容的 uamqp 相依性。 預設:false。
資源群組的名稱。 您可以使用 az configure --defaults group=<name>
來設定預設群組。
C2D 訊息,使用者標識碼屬性。
如果設定 c2d 傳送作業將會封鎖,直到收到裝置意見反應為止。
略過使用者提示。 表示接受動作。 主要用於自動化案例。 預設:false。
全域參數
增加記錄詳細資訊,以顯示所有偵錯記錄。
顯示此說明訊息並結束。
只顯示錯誤,隱藏警告。
輸出格式。
JMESPath 查詢字串。 如需詳細資訊和範例,請參閱 http://jmespath.org/。
訂用帳戶的名稱或識別碼。 您可以使用 az account set -s NAME_OR_ID
設定預設訂用帳戶。
增加記錄詳細資訊。 使用 --debug 來取得完整偵錯記錄。