本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
檢查部署狀態
您可以檢查已在中建立的部署的狀態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 取代為要查詢的部署 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。
以目標物群組的 ARN 取代目標 Arn。
aws greengrassv2 list-deployments --target-arn
targetArn
回應包含一份包含目標最新部署的清單。複製回應以在下一個步驟中使用的回應。
deploymentId
注意
您也可以列出目標的最新部署以外的部署。指定
--history-filter ALL
引數以列出目標的所有部署。然後,複製您要檢查其狀態的部署 ID。 -
執行以下命令來取得部署的詳細資訊。使用上一個步驟的
ID 取代部署
ID。aws greengrassv2 get-deployment --deployment-id
deploymentId
回應會包含部署的相關資訊。
iotJobId
從響應複製以在以下步驟中使用。 -
執行下列命令,說明核心裝置針對部署的工作執行。使用上一個步驟中的作業 ID 以及要檢查其狀態的核心裝置取
iotJobId
代並coreDeviceThing命
名。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 } }
-