

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 弃用命令资源
<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>

要弃用控制台中的命令，请转到控制台的 [Command Hub](https://console.aws.amazon.com/iot/home#/commandHub) 并执行以下步骤。 AWS IoT 

1. 选择要弃用的命令，然后在 “**操作**” 下选择 “**弃用**”。

1. 确认您要弃用该命令，然后选择**弃用**。

## 弃用命令资源（CLI）
<a name="iot-remote-command-deprecate-cli"></a>

使用 `update-command` CLI 将命令标记为已弃用。在删除命令之前，必须弃用命令。要使用已弃用的命令，请先将其恢复。

```
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`命令发送到您的设备，请先将其恢复。

要从控制台恢复命令，请转到控制台的 C [ommand Hub](https://console.aws.amazon.com/iot/home#/commandHub)，选择要恢复的命令，然后在 “**操作**” 下选择 “**恢复**”。 AWS IoT 

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