

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

# 取代指令資源
<a name="iot-remote-command-deprecate"></a>

棄用命令以指出它們已過時且不應使用。例如，棄用不再主動維護的命令，或在建立具有相同 ID 但不同承載的較新命令時。

## 關鍵考量
<a name="iot-remote-command-deprecate-considerations"></a>

取代命令時的重要考量：
+ 棄用命令並不會將其刪除。您可以使用命令的 ID 擷取命令，並將其還原以供重複使用。
+ 嘗試在已棄用命令上啟動新執行會產生錯誤，防止使用過時的命令。
+ 若要執行已棄用命令，請先將其還原。還原之後，命令即可在目標裝置上定期使用和執行。
+ 如果您在執行進行時棄用命令，它們會繼續執行，直到完成為止。您仍然可以擷取執行狀態。

## 棄用命令資源 （主控台）
<a name="iot-remote-command-deprecate-console"></a>

若要從主控台棄用命令，請前往 AWS IoT 主控台的 [Command Hub](https://console.aws.amazon.com/iot/home#/commandHub) 並執行下列步驟。

1. 選擇您要棄用的命令，然後在**動作**下選擇**棄用**。

1. 確認您要棄用命令，然後選擇**棄用**。

## 棄用命令資源 (CLI)
<a name="iot-remote-command-deprecate-cli"></a>

使用 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"
}
```

## 檢查棄用時間和狀態
<a name="iot-remote-command-deprecate-check"></a>

使用 `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
}
```

## 還原命令資源
<a name="iot-remote-command-undeprecate"></a>

若要使用或傳送`ACSwitch`命令至您的裝置，請先將其還原。

若要從主控台還原命令，請前往 AWS IoT 主控台的 [Command Hub](https://console.aws.amazon.com/iot/home#/commandHub)，選擇您要還原的命令，然後在**動作**下選擇**還原**。

若要使用 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"
}
```