Suspender um recurso de comando - AWS IoT Core

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 do console da AWS IoT e execute as etapas a seguir.

  1. Escolha o comando que você deseja suspender e, em Ações, selecione Suspender.

  2. 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 ACSwitch atualizado no exemplo acima, o código a seguir mostrará um exemplo de saída da execução.

{ "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 turnOffAc acima, o código a seguir mostra um exemplo de resposta.

{ "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 do console da AWS IoT, escolha o comando que você deseja restaurar e, em Ações, escolha Restaurar.

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" }