弃用命令资源 - AWS IoT Core

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

弃用命令资源

您可以弃用命令以表明该命令已过时且不应使用。例如,您可能会弃用不再活跃维护的命令,或者您可能想要创建一个具有相同命令 ID 但使用不同负载信息的新命令。

重要注意事项

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

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

  • 如果您尝试在目标设备上为已弃用的命令启动新的命令执行,则会生成错误,从而使您无法使用 out-of-date命令。

  • 要在目标设备上执行已弃用的命令,必须先将其恢复。恢复后,该命令将变为可用状态,可以将其用作常规命令,并且可以在目标设备上执行命令。

  • 如果您在命令执行过程中弃用了某个命令,则执行将继续在目标设备上运行,直到执行完成。您还可以检索命令执行的状态。

弃用命令资源(控制台)

要弃用控制台中的命令,请转到控制台的 Command Hub 并执行以下步骤。 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" }

查看弃用时间和状态

您可以使用该GetCommandAPI操作来确定命令是否已被弃用以及上次被弃用的时间。

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命令或将此命令发送到您的设备,必须将其恢复。

要从控制台恢复命令,请转到控制台的 C ommand Hub,选择要恢复的命令,然后在 “操作” 下选择 “恢复”。 AWS IoT

要使用 AWS IoT Core API或恢复命令 AWS CLI,请使用UpdateCommandAPI操作或update-commandCLI。以下代码显示了示例请求和响应。

aws iot update-command \ --command-id <command-id> --no-deprecated

以下代码显示输出示例。

{ "commandId": "ACSwitch", "deprecated": false, "lastUpdatedAt": "2024-05-09T23:17:21.954000-07:00" }