az iot edge deployment

注意

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

大規模管理 IoT Edge 部署。

命令

名稱 Description 類型 狀態
az iot edge deployment create

在目標 IoT 中樞 中建立IoT Edge部署。

副檔名 GA
az iot edge deployment delete

刪除 IoT Edge 部署。

副檔名 GA
az iot edge deployment list

列出 IoT 中樞 中的IoT Edge部署。

副檔名 GA
az iot edge deployment show

取得IoT Edge部署的詳細數據。

副檔名 GA
az iot edge deployment show-metric

評估IoT Edge部署中定義的目標系統計量。

副檔名 GA
az iot edge deployment update

更新IoT Edge部署的指定屬性。

副檔名 GA

az iot edge deployment create

在目標 IoT 中樞 中建立IoT Edge部署。

部署內容為 json,格式為 {“modulesContent”:{...}} 或 {“content”:{“modulesContent”:{...}}}。

根據預設,系統模組的屬性$edgeAgent和$edgeHub會根據隨 IoT 擴充功能安裝的架構進行驗證。 此驗證適用於基底部署。 如果對應的架構無法使用,或未偵測到基底部署格式,則會略過此步驟。 您可以使用 --no-validation 參數來停用架構驗證。

如果模組已定義 properties.desired.* ,邊緣部署會分類為分層。 任何以分層部署為目標的邊緣裝置,首先需要套用基礎部署。

以裝置為目標的任何分層部署,其優先順序必須高於該裝置的基底部署。

注意:如果在分層部署中設定模塊對應項的 properties.desired 欄位,properties.desired 會在任何較低優先順序的部署中覆寫該模組所需的屬性。

az iot edge deployment create --content
                              --deployment-id
                              [--auth-type {key, login}]
                              [--cl]
                              [--cmq]
                              [--hub-name]
                              [--lab]
                              [--layered {false, true}]
                              [--login]
                              [--metrics]
                              [--no-validation {false, true}]
                              [--pri]
                              [--resource-group]
                              [--target-condition]

範例

使用標籤 (bash 語法範例) 建立部署,該標籤適用於「建置 9」中的裝置,且環境為「測試」。

az iot edge deployment create -d {deployment_name} -n {iothub_name} --content ./modules_content.json --labels '{"key0":"value0", "key1":"value1"}' --target-condition "tags.building=9 and tags.environment='test'" --priority 3

建立具有標籤的部署(powershell 語法範例),適用於以環境 『dev』 標記的裝置。

az iot edge deployment create -d {deployment_name} -n {iothub_name} --content ./modules_content.json --labels "{'key':'value'}" --target-condition "tags.environment='dev'"

建立多層式部署,適用於以環境 'dev' 標記的裝置。 內嵌定義的用戶計量和模組內容(powershell 語法範例)。 請注意,這是已定義屬性.desired.* 的分層部署格式。

az iot edge deployment create -d {deployment_name} -n {iothub_name} --content "{'modulesContent':{'`$edgeAgent':{
  'properties.desired.modules.mymodule0':{ }},'`$edgeHub':{'properties.desired.routes.myroute0':'FROM /messages/* INTO `$upstream'}}}"
--target-condition "tags.environment='dev'" --priority 10 --metrics "{'queries':{'mymetrik':'SELECT deviceId from devices where properties.reported.lastDesiredStatus.code = 200'}}"

建立適用於「建置 9」和環境「測試」中裝置的分層部署。 內嵌定義的用戶計量和模組內容(bash 語法範例)。 請注意,這是已定義屬性.desired.* 的分層部署格式。

az iot edge deployment create -d {deployment_name} -n {iothub_name} --content '{"modulesContent":{"$edgeAgent":{"properties.desired.modules.mymodule0":{ }},"$edgeHub":{"properties.desired.routes.myroute0":"FROM /messages/* INTO $upstream"}}}' --target-condition "tags.building=9 and tags.environment='test'" --metrics '{"queries":{"mymetrik":"SELECT deviceId from devices where properties.reported.lastDesiredStatus.code = 200"}}'

建立適用於 『building 9』 和環境 『test』 中裝置的部署。 從檔案定義的用戶計量和模組內容。

az iot edge deployment create -d {deployment_name} -n {iothub_name} --content ./modules_content.json --target-condition "tags.building=9 and tags.environment='test'" --metrics ./metrics_content.json

建立部署,其定義來自檔案,其中包含標籤和計量的殼層無關輸入。

az iot edge deployment create -d {deployment_name} -n {iothub_name} --content ./modules_content.json --target-condition "tags.building=9 and tags.environment='test'" --custom-labels key0=value0 key1=value1 --custom-metric-queries mymetric1="select deviceId from devices where tags.location='US'" mymetric2="select *"

必要參數

--content -k

IoT Edge 部署內容。 提供檔案路徑或原始 JSON。

--deployment-id -d

目標部署名稱。 允許小寫和下列特殊字元:[-+%_*!']。

選擇性參數

--auth-type

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

接受的值: key, login
預設值: key
--cl --custom-labels

--labels 的替代輸入樣式(空格分隔的索引鍵=值組),並打算在未來取代它。 格式範例:key1=value1 key2=“this is my value”。

--cmq --custom-metric-queries

--metrics 的替代輸入樣式(空格分隔索引鍵=值組),並打算在未來取代它。 格式範例:metric1=“從 tags.location='US'” metric2=“select *” 的裝置選取 deviceId。

--hub-name -n

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

--lab --labels

要套用至目標部署的標籤對應。 使用下列格式:'{“key0”:“value0”,“key1”:“value1”}'。 建議使用 --custom-labels 而非 --labels。

--layered

分層部署可讓您在$edgeAgent、$edgeHub和用戶模組中定義所需的屬性,以在基底部署之上分層。 分層部署中指定的屬性將會與基底部署的屬性合併。 具有相同路徑的屬性將會根據部署優先順序覆寫。 此選項是 --no-validation 的別名。

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

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

--metrics -m

IoT Edge 部署用戶計量定義。 提供檔案路徑或原始 JSON。 用戶計量的格式為 {“queries”:{...}} 或 {“metrics”:{“queries”:{...}}}。 建議使用 --custom-metric-queries 而非 --metrics。

--no-validation

停用邊緣部署建立的客戶端架構驗證。

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

在競爭規則(最高勝利)的情況下,部署的權數。

預設值: 0
--resource-group -g

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

--target-condition --tc -t

邊緣部署套用的目標條件。 沒有目標條件的部署不會以任何裝置為目標。 使用下列格式:“tags.environment='test'”。

全域參數
--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 edge deployment delete

刪除 IoT Edge 部署。

az iot edge deployment delete --deployment-id
                              [--auth-type {key, login}]
                              [--etag]
                              [--hub-name]
                              [--login]
                              [--resource-group]

必要參數

--deployment-id -d

目標部署名稱。 允許小寫和下列特殊字元:[-+%_*!']。

選擇性參數

--auth-type

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

接受的值: key, login
預設值: key
--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 edge deployment list

列出 IoT 中樞 中的IoT Edge部署。

az iot edge deployment list [--auth-type {key, login}]
                            [--hub-name]
                            [--login]
                            [--resource-group]
                            [--top]

選擇性參數

--auth-type

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

接受的值: key, login
預設值: key
--hub-name -n

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

--login -l

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

--resource-group -g

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

--top

要傳回的部署數目上限。 默認會傳回所有部署。

全域參數
--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 edge deployment show

取得IoT Edge部署的詳細數據。

az iot edge deployment show --deployment-id
                            [--auth-type {key, login}]
                            [--hub-name]
                            [--login]
                            [--resource-group]

必要參數

--deployment-id -d

目標部署名稱。 允許小寫和下列特殊字元:[-+%_*!']。

選擇性參數

--auth-type

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

接受的值: key, login
預設值: key
--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 edge deployment show-metric

評估IoT Edge部署中定義的目標系統計量。

az iot edge deployment show-metric --deployment-id
                                   --metric-id
                                   [--auth-type {key, login}]
                                   [--hub-name]
                                   [--login]
                                   [--metric-type {system, user}]
                                   [--resource-group]

範例

評估 『appliedCount』 系統計量

az iot edge deployment show-metric -m appliedCount -d {deployment_name} -n {iothub_name} --mt system

評估 『myCustomMetric』 用戶計量

az iot edge deployment show-metric -m myCustomMetric -d {deployment_name} -n {iothub_name}

必要參數

--deployment-id -d

目標部署名稱。 允許小寫和下列特殊字元:[-+%_*!']。

--metric-id -m

評估的目標計量。

選擇性參數

--auth-type

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

接受的值: key, login
預設值: key
--hub-name -n

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

--login -l

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

--metric-type --mt

指出應該使用哪一個計量集合來查閱計量。

接受的值: system, user
預設值: user
--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 edge deployment update

更新IoT Edge部署的指定屬性。

使用 --set 後面接著屬性指派來更新部署。

注意:IoT Edge 部署內容是不可變的。 可更新的部署屬性為 'labels'、'metrics'、'priority' 和 'targetCondition'。

az iot edge deployment update --deployment-id
                              [--add]
                              [--auth-type {key, login}]
                              [--etag]
                              [--force-string]
                              [--hub-name]
                              [--login]
                              [--remove]
                              [--resource-group]
                              [--set]

範例

改變現有邊緣部署的標籤和目標條件

az iot edge deployment update -d {deployment_name} -n {iothub_name} --set labels='{"purpose":"dev", "owners":"IoTEngineering"}' targetCondition='tags.building=9'

必要參數

--deployment-id -d

目標部署名稱。 允許小寫和下列特殊字元:[-+%_*!']。

選擇性參數

--add

藉由指定路徑和索引鍵值組,將物件加入物件清單。 範例:--add property.listProperty <key=value, string or JSON string>

預設值: []
--auth-type

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

接受的值: key, login
預設值: key
--etag -e

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

--force-string

使用 'set' 或 'add' 時,請保留字串常值,而不是嘗試轉換成 JSON。

預設值: False
--hub-name -n

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

--login -l

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

--remove

從清單中移除屬性或專案。 範例: --remove property.list <indexToRemove>--remove propertyToRemove

預設值: []
--resource-group -g

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

--set

指定要設定的屬性路徑和值,以更新物件。 範例:--set property1.property2=<value>

預設值: []
全域參數
--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 來取得完整偵錯記錄。