az iot ops

注意

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

此命令群組處於預覽狀態,且正在開發中。 參考和支援層級: https://aka.ms/CLI_refstatus

管理 Azure IoT 作業。

Azure IoT 作業是一組高度對齊但鬆散結合的第一方 Kubernetes 服務,可讓您將數據從內部部署資產匯總成產業級 MQTT 訊息代理程式、新增邊緣計算,以及設定雲端中各種服務的雙向數據流。

根據預設,IoT Operations CLI 命令會定期檢查是否有新的擴充功能版本可用。 您可以使用 停用 az config set iotops.check_latest=false此行為。

命令

名稱 Description 類型 狀態
az iot ops asset

管理資產。

副檔名 預覽​​
az iot ops asset create

建立資產。

副檔名 預覽​​
az iot ops asset data-point

管理資產中的數據點。

副檔名 預覽​​
az iot ops asset data-point add

將數據點新增至資產。

副檔名 預覽​​
az iot ops asset data-point export

匯出資產中的數據點。

副檔名 預覽​​
az iot ops asset data-point import

匯入資產中的數據點。

副檔名 預覽​​
az iot ops asset data-point list

列出資產中的數據點。

副檔名 預覽​​
az iot ops asset data-point remove

拿掉資產中的數據點。

副檔名 預覽​​
az iot ops asset delete

刪除資產。

副檔名 預覽​​
az iot ops asset endpoint

管理資產端點配置檔。

副檔名 預覽​​
az iot ops asset endpoint certificate

在資產端點中管理擁有的憑證。

副檔名 預覽​​
az iot ops asset endpoint certificate add

將擁有的憑證新增至資產端點。

副檔名 預覽​​
az iot ops asset endpoint certificate list

列出資產端點中擁有的憑證。

副檔名 預覽​​
az iot ops asset endpoint certificate remove

拿掉資產端點中擁有的憑證。

副檔名 預覽​​
az iot ops asset endpoint create

建立資產端點。

副檔名 預覽​​
az iot ops asset endpoint delete

刪除資產端點。

副檔名 預覽​​
az iot ops asset endpoint query

查詢資產端點的 Resource Graph。

副檔名 預覽​​
az iot ops asset endpoint show

顯示資產端點。

副檔名 預覽​​
az iot ops asset endpoint update

更新資產端點。

副檔名 預覽​​
az iot ops asset event

管理資產中的事件。

副檔名 預覽​​
az iot ops asset event add

將事件新增至資產。

副檔名 預覽​​
az iot ops asset event export

匯出資產中的事件。

副檔名 預覽​​
az iot ops asset event import

匯入資產中的事件。

副檔名 預覽​​
az iot ops asset event list

列出資產中的事件。

副檔名 預覽​​
az iot ops asset event remove

拿掉資產中的事件。

副檔名 預覽​​
az iot ops asset query

查詢 Resource Graph 中的資產。

副檔名 預覽​​
az iot ops asset show

顯示資產。

副檔名 預覽​​
az iot ops asset update

更新資產。

副檔名 預覽​​
az iot ops check

評估已部署IoT Operations服務的叢集端運行時間健康情況。

副檔名 預覽​​
az iot ops init

啟動程式、設定IoT作業並將其部署至已啟用目標弧形的叢集。

副檔名 預覽​​
az iot ops mq

MQ 特定工具。

副檔名 預覽​​
az iot ops mq get-password-hash

產生套用 PBKDF2-HMAC-SHA512 的複雜密碼 PBKDF2 哈希。 從 os.urandom 使用 128 位鹽。

副檔名 預覽​​
az iot ops mq stats

顯示執行統計數據的 dmqtt。

副檔名 預覽​​
az iot ops support

IoT 作業支援命令空間。

副檔名 預覽​​
az iot ops support create-bundle

建立標準支援套件組合 zip 封存,以用於疑難解答和診斷。

副檔名 預覽​​
az iot ops verify-host

針對IoT作業部署相容性執行一組叢集主機驗證。

副檔名 預覽​​

az iot ops check

預覽

命令群組 'iot ops' 處於預覽狀態,且正在開發中。 參考和支援層級: https://aka.ms/CLI_refstatus

評估已部署IoT Operations服務的叢集端運行時間健康情況。

命令預設會顯示所選服務的易記 摘要 檢視。 您可以透過 --detail-level要求更多詳細數據。

{支持的服務 API}

  • akri.sh/[v0]
  • dataprocessor.iotoperations.azure.com/[v1]
  • deviceregistry.microsoft.com/[v1beta1]
  • layerednetworkmgmt.iotoperations.azure.com/[v1beta1]
  • mq.iotoperations.azure.com/[v1beta1]
  • opcuabroker.iotoperations.azure.com/[v1beta1]。
az iot ops check [--as-object {false, true}]
                 [--context]
                 [--detail-level {0, 1, 2}]
                 [--ops-service {akri, dataprocessor, deviceregistry, lnm, mq, opcua}]
                 [--post {false, true}]
                 [--pre {false, true}]
                 [--resource-name]
                 [--resources {asset, assetendpointprofile, assettype, broker, brokerlistener, configuration, datalakeconnector, dataset, diagnosticservice, instance, kafkaconnector, lnm, mqttbridgeconnector, pipeline}]

範例

基本用法。 使用摘要輸出檢查 『mq』 健康情況。

az iot ops check

評估 『mq』,例如先前的範例,不過輸出已針對 CI 優化。

az iot ops check --as-object

檢查具有詳細輸出的「數據處理者」健全狀況和設定。

az iot ops check --svc dataprocessor --detail-level 1

與先前的範例相同,除了將結果限製為 『pipeline』 資源之外。

az iot ops check --svc dataprocessor --detail-level 1 --resources pipeline

使用資源名稱,將結果限製為 'pipeline' 資源完全符合名稱 'pipeline'。

az iot ops check --svc dataprocessor  --resources pipeline --resource-name pipeline

使用資源名稱將結果限製為以 『pipeline-name』 開頭的資源名稱。

az iot ops check --svc dataprocessor --detail-level 1 --resource-name pipeline-name*

使用 『?』 glob 模式,將結果限製為包含 'pipeline' 的資源名稱,並以單一字元結尾。

az iot ops check --svc dataprocessor --detail-level 1 --resource-name pipeline?

選擇性參數

--as-object

輸出會檢查 CI 易記數據結構中的內容和驗證。

接受的值: false, true
--context

用於 k8s 叢集通訊的 Kubeconfig 內容名稱。 如果未提供任何內容,則會使用current_context。

--detail-level

控制檢查輸出中顯示的詳細數據層級。 選擇 0 作為摘要檢視(最小輸出)、1 以取得詳細檢視(更完整的資訊),或 2 作為詳細資訊檢視(所有可用資訊)。

接受的值: 0, 1, 2
預設值: 0
--ops-service --svc

將會評估的IoT Operations服務部署。

接受的值: akri, dataprocessor, deviceregistry, lnm, mq, opcua
預設值: mq
--post

執行部署后檢查。

接受的值: false, true
--pre

執行必要條件檢查,以判斷是否已滿足服務部署的最低需求。

接受的值: false, true
--resource-name --rn

只執行特定資源名稱的檢查。 名稱不區分大小寫。 支援 Glob 模式 '' 和 '?'。注意:只允許英數位元、連字元、'?' 和 '' 。

--resources

只對特定資源類型執行檢查。 使用空格分隔值。

接受的值: asset, assetendpointprofile, assettype, broker, brokerlistener, configuration, datalakeconnector, dataset, diagnosticservice, instance, kafkaconnector, lnm, mqttbridgeconnector, pipeline
全域參數
--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 ops init

預覽

命令群組 'iot ops' 處於預覽狀態,且正在開發中。 參考和支援層級: https://aka.ms/CLI_refstatus

啟動程式、設定IoT作業並將其部署至已啟用目標弧形的叢集。

如需其他資源,包括如何啟用弧線啟用叢集,請參閱 https://learn.microsoft.com/en-us/azure/iot-operations/deploy-iot-ops/howto-prepare-cluster

az iot ops init --cluster
                --resource-group
                [--ca-dir]
                [--ca-file]
                [--ca-key-file]
                [--ca-valid-days]
                [--cluster-namespace]
                [--context]
                [--csi-driver-ver]
                [--custom-location]
                [--disable-rotation {false, true}]
                [--disable-rsync-rules {false, true}]
                [--dp-instance]
                [--ensure-latest {false, true}]
                [--kubernetes-distro {k3s, k8s, microk8s}]
                [--kv-id]
                [--kv-spc-secret-name]
                [--location]
                [--mq-authn]
                [--mq-backend-part]
                [--mq-backend-rf]
                [--mq-backend-workers]
                [--mq-broker]
                [--mq-frontend-replicas]
                [--mq-frontend-server]
                [--mq-frontend-workers]
                [--mq-insecure {false, true}]
                [--mq-instance]
                [--mq-listener]
                [--mq-mem-profile {high, low, medium, tiny}]
                [--mq-mode {auto, distributed}]
                [--mq-service-type {clusterIp, loadBalancer, nodePort}]
                [--no-block {false, true}]
                [--no-deploy {false, true}]
                [--no-progress {false, true}]
                [--no-tls {false, true}]
                [--opcua-discovery-url]
                [--rotation-int]
                [--runtime-socket]
                [--show-template {false, true}]
                [--simulate-plc {false, true}]
                [--sp-app-id]
                [--sp-object-id]
                [--sp-secret]
                [--sp-secret-valid-days]
                [--target]

範例

完整設定的最低輸入。 這包括 金鑰保存庫 組態、CSI 驅動程式部署、IOT 作業的 TLS 設定和部署。

az iot ops init --cluster mycluster -g myresourcegroup --kv-id /subscriptions/2cb3a427-1abc-48d0-9d03-dd240819742a/resourceGroups/myresourcegroup/providers/Microsoft.KeyVault/vaults/mykeyvault

與先前範例相同的設定,除了使用現有的應用程式識別碼和旗標來包含仿真的 PLC 伺服器作為部署的一部分。 包含應用程式識別碼可防止 『init』 建立應用程式註冊。

az iot ops init --cluster mycluster -g myresourcegroup --kv-id $KEYVAULT_ID --sp-app-id a14e216b-6802-4e9c-a6ac-844f9ffd230d --simulate-plc

若要略過部署,並只專注於 金鑰保存庫 CSI 驅動程式和 TLS 設定工作流程,請簡單傳入 '--no-deploy'。 當想要從入口網站等不同工具進行部署時,這非常有用。

az iot ops init --cluster mycluster -g myresourcegroup --kv-id $KEYVAULT_ID --sp-app-id a14e216b-6802-4e9c-a6ac-844f9ffd230d --no-deploy

若要只在已預先準備的叢集上部署IoT作業,只需省略 '--kv-id' 並包含 '--no-tls'。

az iot ops init --cluster mycluster -g myresourcegroup --no-tls

在部署進行時,請使用 『--no-block』 來執行其他工作,而等待部署在開始其他工作之前完成。

az iot ops init --cluster mycluster -g myresourcegroup --kv-id $KEYVAULT_ID --sp-app-id a14e216b-6802-4e9c-a6ac-844f9ffd230d --no-block

若要避免呼叫 MS Graph,例如針對登入 az cli 服務主體許可權受到限制或應重複使用現有服務主體的 CI 案例,請提供所有 '--sp-app-id'、'--sp-object-id' 和 '--sp-secret'。 這些值應該反映將用於 金鑰保存庫 CSI 驅動程式設定所需的服務主體。

az iot ops init --cluster mycluster -g myresourcegroup --kv-id $KEYVAULT_ID --sp-app-id a14e216b-6802-4e9c-a6ac-844f9ffd230d --sp-object-id 224a7a3f-c63d-4923-8950-c4a85f0d2f29 --sp-secret $SP_SECRET

必要參數

--cluster

IoT 作業部署的目標叢集名稱。

--resource-group -g

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

選擇性參數

--ca-dir

產生的測試 CA 和私鑰會放在本機目錄。 如果未提供任何目錄,則不會將檔案寫入磁碟。 當未提供 --ca-file 和 --ca-key-file 時適用。

--ca-file

PEM 格式所需 CA 檔案的路徑。

--ca-key-file

PEM 格式的 CA 私鑰檔案路徑。 !必填! 提供 --ca-file 時。

--ca-valid-days

以 init 產生的 x509 CA 天數控制持續時間的選項。 如果未提供 --ca-file 和 --ca-key-file,則適用。

預設值: 365
--cluster-namespace

叢集命名空間 IoT 作業基礎結構將會部署至 。 必須是小寫。

預設值: azure-iot-operations
--context

用於 k8s 叢集通訊的 Kubeconfig 內容名稱。 如果未提供任何內容,則會使用current_context。

--csi-driver-ver

CSI 驅動程式版本。

預設值: 1.5.2
--custom-location

對應至IoT作業部署的自訂位置名稱。 默認值的格式為 『{cluster_name}-ops-init-cl』。

--disable-rotation

停用秘密輪替的旗標。

接受的值: false, true
--disable-rsync-rules

資源同步規則將不會包含在部署中。

接受的值: false, true
--dp-instance

數據處理者的實例名稱。 默認值的格式為 『{cluster_name}-ops-init-processor』。

--ensure-latest

確定已安裝最新的 IoT Ops CLI,並在有升級可用時引發錯誤。

接受的值: false, true
--kubernetes-distro

用於 Akri 設定的 Kubernetes 散發版本。 選取的散發版本表示未提供 --runtime-socket 值時的預設容器運行時間套接字路徑。

接受的值: k3s, k8s, microk8s
預設值: k8s
--kv-id

金鑰保存庫 ARM 資源識別碼。提供此資源識別碼可讓用戶端設定所有必要的資源和叢集端設定,以啟用適用於IoT作業的 金鑰保存庫 CSI 驅動程式。

--kv-spc-secret-name

要作為預設 SPC 秘密的 金鑰保存庫 秘密名稱。 如果密碼不存在,則會使用密碼編譯安全佔位元元值來建立。

預設值: azure-iot-operations
--location

將用於布建 RPSaaS 抵押品的 ARM 位置。 如果未提供,則會使用聯機的叢集位置。

--mq-authn

mq authN 名稱。 預設值為 『authn』。

--mq-backend-part

MQ 後端分割區。

預設值: 2
--mq-backend-rf

MQ 後端備援因素。

預設值: 2
--mq-backend-workers

MQ 後端背景工作角色。

預設值: 2
--mq-broker

mq Broker 名稱。 預設值為 『broker』。

--mq-frontend-replicas

MQ 前端復本。

預設值: 2
--mq-frontend-server

mq 前端伺服器名稱。 默認值為 『mq-dmqtt-frontend』。

--mq-frontend-workers

MQ 前端背景工作角色。

預設值: 2
--mq-insecure

啟用時,mq 部署將會包含系結至埠 1883 且沒有 authN 或 authZ 的接聽程式。 訊息代理程式 encryptInternalTraffic 設定將會設定為 false。 僅適用於非生產工作負載。

接受的值: false, true
--mq-instance

mq 實例名稱。 默認值的格式為 'init-{hash}-mq-instance'。

--mq-listener

mq 接聽程式名稱。 預設值為 「接聽程式」。

--mq-mem-profile

MQ 記憶體配置檔。

接受的值: high, low, medium, tiny
預設值: medium
--mq-mode

作業的 MQ 模式。

接受的值: auto, distributed
預設值: distributed
--mq-service-type

MQ 服務類型。

接受的值: clusterIp, loadBalancer, nodePort
預設值: clusterIp
--no-block

在IoT作業部署啟動之後立即傳回。

接受的值: false, true
--no-deploy

將會略過IoT作業部署工作流程。

接受的值: false, true
--no-progress

停用 init 進度列。

接受的值: false, true
--no-tls

將會略過 TLS 設定工作流程。

接受的值: false, true
--opcua-discovery-url

設定 Akri 探索處理程式的 OPC-UA 伺服器端點。 如果未提供 ,且已設定 --simulate-plc,這個值會變成 'opc.tcp://opcplc-0000000。{cluster_namespace}:50000'。

--rotation-int

輪替輪詢間隔。

預設值: 1h
--runtime-socket

容器運行時間套接字的預設節點路徑。 如果未提供 (預設值),套接字路徑是由 --kubernetes-distro 所決定。

--show-template

設定時會輸出用於部署的範本。

接受的值: false, true
--simulate-plc

設定時會設定 OPC-UA 訊息代理程式安裝程式,以啟動 PLC 伺服器。

接受的值: false, true
--sp-app-id

服務主體應用程式識別碼。如果提供 ,將會用於 CSI 驅動程式設定。 否則將會建立應用程式註冊。 如果登入的主體沒有查詢圖形的許可權,則為必要 項。

--sp-object-id

服務主體 (sp) 對象識別碼。如果提供 ,將會用於 CSI 驅動程式設定。 否則,如果應用程式識別碼不存在,則會從應用程式標識碼查詢對象標識碼 - 建立sp。 如果登入的主體沒有查詢圖形的許可權,則為必要 項。 使用 az ad sp show --id <app Id> --query id -o tsv 來產生適當的物件識別碼。或者,使用入口網站,您可以流覽至 Entra Id 租使用者中的企業應用程式。

--sp-secret

對應至所提供服務主體應用程式標識碼的秘密。如果提供 ,將會用於 CSI 驅動程式設定。 否則將會建立新的秘密。 如果登入的主體沒有查詢圖形的許可權,則為必要 項。

--sp-secret-valid-days

控制 init 所產生服務主體秘密天數的持續時間選項。 如果未提供 --sp-secret,則適用。

預設值: 365
--target

ops Orchestrator 的目標名稱。 默認值的格式為 『{cluster_name}-ops-init-target』。

全域參數
--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 ops verify-host

預覽

命令群組 'iot ops' 處於預覽狀態,且正在開發中。 參考和支援層級: https://aka.ms/CLI_refstatus

針對IoT作業部署相容性執行一組叢集主機驗證。

要直接在目標叢集主機上執行。 命令可能會提示套用一組特殊許可權動作,例如安裝相依性。 在此情況下,CLI 必須以較高的許可權執行。 例如 sudo AZURE_EXTENSION_DIR=~/.azure/cliextensions az iot ops verify-host

az iot ops verify-host [--no-progress {false, true}]

選擇性參數

--no-progress

停用工作的視覺表示。

接受的值: false, true
全域參數
--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 來取得完整偵錯記錄。