弃用命令资源 - AWS IoT Core

弃用命令资源

您可以弃用命令,以表明它已过期且不应使用。例如,您可能会弃用不再积极维护的命令,或者您可能希望创建一个具有相同命令 ID 但使用不同有效载荷信息的新命令。

重要注意事项

以下是弃用命令时的一些重要注意事项:

  • 当您弃用一个命令时,它不会被删除。您仍然可以使用其命令 ID 检索该命令,并且如果想重用该命令,可以恢复它。

  • 如果您尝试对已弃用的命令在目标设备上启动新的命令执行,它会生成错误,从而阻止您使用过时的命令。

  • 要在目标设备上执行已弃用的命令,您必须首先恢复它。一旦恢复,该命令变为可用,可以像常规命令一样使用,您可以在目标设备上执行命令执行。

  • 如果您在命令执行正在进行时弃用该命令,这些执行将继续在目标设备上运行,直到完成。您也可以检索命令执行的状态。

弃用命令资源(控制台)

要从控制台弃用命令,请转到 AWS IoT 控制台的命令中心并执行以下步骤。

  1. 选择您要弃用的命令,然后在操作下选择弃用

  2. 确认您要弃用该命令,然后选择弃用

弃用命令资源(CLI)

您可以使用 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" }

检查弃用时间和状态

您可以使用 GetCommand API 操作来确定命令是否已被弃用,以及最后一次弃用的时间。

aws iot get-command --command-id <turnOffAC>

运行此命令会生成一个包含有关命令信息的响应。您可以获取有关其创建时间以及使用最后更新的信息获知其被弃用的时间。此信息可以帮助您确定命令的生命周期,以及您是想要删除命令还是重用它。例如,在上面的 turnOffAc 示例中,以下代码显示一个示例响应。

{ "commandId": "turnOffAC", "commandArn": "arn:aws:iot:ap-south-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 控制台的命令中心,选择您要恢复的命令,然后在操作下选择恢复

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