修訂部署 - AWS IoT Greengrass

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

修訂部署

每個目標物件或物群組一次可以有一個作用中部署。當您為已有部署的目標建立部署時,新部署中的軟體元件會取代先前部署中的軟體元件。如果新部署未定義先前部署所定義的元件,則 AWS IoT Greengrass Core 軟體會從目標核心裝置移除該元件。您可以修訂現有部署,這樣就不會將核心裝置上執行的元件從先前的部署移除至目標。

若要修訂部署,您可以建立從先前部署中存在的相同元件和規劃開始的部署。您可以使用CreateDeployment作業,這與建立部署時所使用的作業相同。

若要修訂部署 (AWS CLI)
  1. 執行下列命令以列出部署目標的部署。將目標 targetArn 取代為目標AWS IoT物件或物群組的 ARN。

    aws greengrassv2 list-deployments --target-arn targetArn

    回應包含一份包含目標最新部署的清單。複製來deploymentId自響應以在下一個步驟中使用。

    注意

    您也可以修訂目標的最新修訂版以外的部署。指定--history-filter ALL引數以列出目標的所有部署。然後,複製您要修訂的部署 ID。

  2. 執行下列命令以取得部署的詳細資料。這些詳細資料包括中繼資料、元件和工作組態。使用上一個步驟的 ID 取代部署 ID。

    aws greengrassv2 get-deployment --deployment-id deploymentId

    回應包含部署的詳細資料。

  3. 建立名為 deployment.json 的文件,並將前一個命令的回應複製到檔案中。

  4. 從 JSON 物件的 deployment.json 中移除以下鍵值組:

    • deploymentId

    • revisionId

    • iotJobId

    • iotJobArn

    • creationTimestamp

    • isLatestForTarget

    • deploymentStatus

    CreateDeployment業需要具有下列結構的有效負載。

    { "targetArn": "String", "components": Map of components, "deploymentPolicies": DeploymentPolicies, "iotJobConfiguration": DeploymentIoTJobConfiguration, "tags": Map of tags }
  5. deployment.json 中,執行下列任何一項:

    • 變更部署名稱 (deploymentName)。

    • 變更部署的元件 (components)。

    • 變更部署的原則 (deploymentPolicies)。

    • 變更部署的工作組態 (iotJobConfiguration)。

    • 變更部署的標籤 (tags)。

    如需如何定義這些部署詳細資訊的詳細資訊,請參閱建立部署

  6. 執行下列命令以從中建立部署deployment.json

    aws greengrassv2 create-deployment --cli-input-json file://deployment.json

    回應包括識別deploymentId此部署的。您可以使用部署 ID 來檢查部署的狀態。如需更多詳細資訊,請參閱 檢查部署狀態