本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
取代指令資源
棄用命令以指出它們已過時且不應使用。例如,棄用不再主動維護的命令,或在建立具有相同 ID 但不同承載的較新命令時。
關鍵考量
取代命令時的重要考量:
-
棄用命令並不會將其刪除。您可以使用命令的 ID 擷取命令,並將其還原以重複使用。
-
嘗試在已棄用命令上啟動新執行會產生錯誤,防止使用過時的命令。
-
若要執行已取代的命令,請先將其還原。還原之後,命令即可在目標裝置上定期使用和執行。
-
如果您在執行進行時棄用命令,它們會繼續執行,直到完成為止。您仍然可以擷取執行狀態。
棄用命令資源 (主控台)
若要從主控台棄用命令,請前往 AWS IoT 主控台的 Command Hub
-
選擇您要棄用的命令,然後在動作下選擇棄用。
-
確認您要棄用命令,然後選擇棄用。
棄用命令資源 (CLI)
使用 CLI update-command 將命令標記為已棄用。您必須先棄用命令,才能刪除。若要使用已棄用的命令,請先將其還原。
aws iot update-command \ --command-id<command-id>\ --deprecated
例如,如果您已棄用在上述範例中更新的命令,下列程式碼會顯示執行命令的範例輸出。ACSwitch
{ "commandId": "turnOffAc", "deprecated": true, "lastUpdatedAt": "2024-05-09T23:16:51.370000-07:00" }
檢查棄用時間和狀態
使用 GetCommand API 來判斷命令是否已棄用,以及上次棄用的時間。
aws iot get-command --command-id<turnOffAC>
此命令會產生包含命令資訊的回應,包括上次更新欄位的建立和取代時間戳記。這有助於判斷命令生命週期,以及是否要刪除或重複使用。以下顯示 命令的範例回應:turnOffAc
{ "commandId": "turnOffAC", "commandArn": "arn:aws:iot:us-east-1:123456789012:command/turnOffAC", "namespace": "AWS-IoT", "payload": { "content": "testPayload.json", "contentType": "application/json" }, "createdAt": "2024-03-23T00:50:10.095000-07:00", "lastUpdatedAt": "2024-05-09T23:16:51.370000-07:00", "deprecated": false }
還原命令資源
若要使用或傳送 ACSwitch命令至您的裝置,請先將其還原。
若要從主控台還原命令,請前往 AWS IoT 主控台的 Command Hub
若要使用 AWS IoT Core API 或 還原命令 AWS CLI,請使用 UpdateCommand API 操作或 update-command CLI。下列程式碼顯示範例請求和回應。
aws iot update-command \ --command-id<command-id>--no-deprecated
下列程式碼顯示範例輸出。
{ "commandId": "ACSwitch", "deprecated": false, "lastUpdatedAt": "2024-05-09T23:17:21.954000-07:00" }