Suspender um recurso de comando
É possível suspender um comando para indicar que ele está desatualizado e não deve ser usado. Por exemplo, é possível suspender um comando cuja manutenção não esteja mais ativa ou talvez criar um comando mais recente com o mesmo ID, mas usando informações de carga útil diferentes.
Considerações importantes
Veja algumas considerações importantes sobre a suspensão de um comando:
-
Quando você suspende um comando, ele não é excluído. Você ainda pode recuperar o comando usando o respectivo ID e restaurá-lo se quiser reutilizá-lo.
-
Se você tentar iniciar uma nova execução de um comando suspenso no dispositivo de destino, isso vai gerar um erro, o que impede o uso de comandos desatualizados.
-
Para executar um comando suspenso no dispositivo de destino, primeiro você deve restaurá-lo. Depois de restaurado, o comando fica disponível e pode ser usado como um comando normal, e você poderá executá-lo no dispositivo de destino.
-
Se você suspender um comando enquanto as execuções estiverem em andamento, elas continuarão sendo realizadas no dispositivo de destino até serem concluídas. Você também pode recuperar o status das execuções do comando.
Suspender um recurso de comando (console)
Para suspender um comando no console, acesse o Hub de comandos
-
Escolha o comando que você deseja suspender e, em Ações, selecione Suspender.
-
Confirme que você deseja suspender o comando e, depois, selecione Suspender.
Suspender um recurso de comando (CLI)
Você pode marcar um comando como suspenso usando a CLI update-command. Primeiro, é necessário suspender um comando para excluí-lo. Depois que um comando for suspenso, se você quiser usá-lo para enviar uma nova execução de comando para o dispositivo de destino, deverá restaurá-lo.
aws iot update-command \ --command-id<command-id>\ --deprecated
Por exemplo, se você suspendeu o comando atualizado no exemplo acima, o código a seguir mostrará um exemplo de saída da execução.ACSwitch
{ "commandId": "turnOffAc", "deprecated": true, "lastUpdatedAt": "2024-05-09T23:16:51.370000-07:00" }
Conferir a hora e o status da suspensão
Você pode usar a operação da API GetCommand para determinar se um comando foi suspenso e quando isso ocorreu pela última vez.
aws iot get-command --command-id<turnOffAC>
A execução desse comando gera uma resposta que contém informações sobre ele. Você pode acessar informações sobre quando ele foi criado e quando foi suspenso usando as informações mais atualizadas. Essas informações podem ajudar você a determinar a vida útil de um comando e se você deseja excluí-lo ou reutilizá-lo. No exemplo acima, o código a seguir mostra um exemplo de resposta. 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 }
Restaurar um recurso de comando
Para usar o comando ACSwitch ou enviá-lo ao seu dispositivo, você deve restaurá-lo.
Para restaurar um comando do console, acesse o Hub de comandos
Para restaurar um comando usando a API do AWS IoT Core ou a AWS CLI, use a operação da API UpdateCommand ou a CLI update-command. O código a seguir mostra um exemplo de solicitação e resposta.
aws iot update-command \ --command-id<command-id>--no-deprecated
O código a seguir mostra um exemplo de saída.
{ "commandId": "ACSwitch", "deprecated": false, "lastUpdatedAt": "2024-05-09T23:17:21.954000-07:00" }