本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
檢查部署狀態
您可以檢查您在其中建立的部署狀態 AWS IoT Greengrass。您也可以檢查將部署推展到每個核心裝置 AWS IoT 的任務狀態。當部署處於作用中狀態時, AWS IoT 任務的狀態為 IN_PROGRESS
。建立新的部署修訂版之後,上一個修訂版 AWS IoT 的任務狀態會變更為 CANCELLED
。
檢查部署狀態
您可以檢查依目標或其 ID 識別的部署狀態。
依目標檢查部署狀態 (AWS CLI)
-
執行下列命令,以擷取目標的最新部署狀態。將
targetArn
取代為部署目標 AWS IoT 之實物或實物群組的 Amazon Resource Name (ARN)。aws greengrassv2 list-deployments --target-arn
targetArn
回應包含具有目標最新部署的清單。此部署物件包含部署的狀態。
依 ID 檢查部署狀態 (AWS CLI)
-
執行下列命令來擷取部署的狀態。將
deploymentId
取代為要查詢的部署 ID。aws greengrassv2 get-deployment --deployment-id
deploymentId
回應包含部署的狀態。
檢查裝置部署狀態
您可以檢查套用至個別核心裝置的部署任務狀態。您也可以檢查物件群組部署的部署任務狀態。
檢查核心裝置的部署任務狀態 (AWS CLI)
-
執行下列命令,以擷取核心裝置的所有部署任務狀態。將
coreDeviceName
取代為要查詢的核心裝置名稱。aws greengrassv2 list-effective-deployments --core-device-thing-name
coreDeviceName
回應包含核心裝置的部署任務清單。您可以透過任務的
deploymentId
或 來識別部署的任務targetArn
。每個部署任務都包含核心裝置上任務的狀態。
檢查物件群組的部署狀態 (AWS CLI)
-
執行下列命令來擷取現有部署的 ID。將
targetArn
取代為目標物件群組的 ARN。aws greengrassv2 list-deployments --target-arn
targetArn
回應包含具有目標最新部署的清單。
deploymentId
從回應中複製 以用於下一個步驟。注意
您也可以列出目標最新部署以外的部署。指定引
--history-filter ALL
數以列出目標的所有部署。然後,複製您要檢查狀態的部署 ID。 -
執行下列命令以取得部署的詳細資訊。將
deploymentID
取代為上一個步驟的 ID。aws greengrassv2 get-deployment --deployment-id
deploymentId
回應包含部署的相關資訊。
iotJobId
從回應中複製 以用於下列步驟。 -
執行下列命令來描述核心裝置在部署時的任務執行。將
iotJobId
和coreDeviceThingName
取代為上一個步驟的任務 ID,以及您要檢查狀態的核心裝置。aws iot describe-job-execution --job-id
iotJobId
--thing-namecoreDeviceThingName
回應包含核心裝置部署任務執行的狀態,以及狀態的詳細資訊。
detailsMap
包含下列資訊:-
detailed-deployment-status
– 部署結果狀態,可以是下列其中一個值:-
SUCCESSFUL
– 部署成功。 -
FAILED_NO_STATE_CHANGE
– 核心裝置準備套用部署時,部署失敗。 -
FAILED_ROLLBACK_NOT_REQUESTED
– 部署失敗,而且部署未指定 轉返先前的工作組態,因此核心裝置可能無法正常運作。 -
FAILED_ROLLBACK_COMPLETE
– 部署失敗,核心裝置成功復原至先前的工作組態。 -
FAILED_UNABLE_TO_ROLLBACK
– 部署失敗,且核心裝置無法復原至先前的工作組態,因此核心裝置可能無法正常運作。
如果部署失敗,請檢查
deployment-failure-cause
值和核心裝置的日誌檔案,以識別問題。如需如何存取核心裝置日誌檔案的詳細資訊,請參閱監控 AWS IoT Greengrass 日誌。 -
-
deployment-failure-cause
– 錯誤訊息,提供任務執行失敗原因的其他詳細資訊。
回應看起來與下列範例類似。
{ "execution": { "jobId": "2cc2698a-5175-48bb-adf2-1dd345606ebd", "status": "FAILED", "statusDetails": { "detailsMap": { "deployment-failure-cause": "No local or cloud component version satisfies the requirements. Check whether the version constraints conflict and that the component exists in your AWS 帳戶 with a version that matches the version constraints. If the version constraints conflict, revise deployments to resolve the conflict. Component com.example.HelloWorld version constraints: LOCAL_DEPLOYMENT requires =1.0.0, thinggroup/MyGreengrassCoreGroup requires =1.0.1.", "detailed-deployment-status": "FAILED_NO_STATE_CHANGE" } }, "thingArn": "arn:aws:iot:us-west-2:123456789012:thing/MyGreengrassCore", "queuedAt": "2022-02-15T14:45:53.098000-08:00", "startedAt": "2022-02-15T14:46:05.670000-08:00", "lastUpdatedAt": "2022-02-15T14:46:20.892000-08:00", "executionNumber": 1, "versionNumber": 3 } }
-