Operações de API dos trabalhos do AWS IoT - AWS IoT Core

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Operações de API dos trabalhos do AWS IoT

A API do serviço Jobs de AWS IoT pode ser usada para qualquer uma das seguintes categorias:

  • Tarefas administrativas, como gerenciamento e controle de trabalhos. Esse é o ambiente de gerenciamento.

  • Dispositivos que realizam esses trabalhos. Esse é o plano de dados, que permite enviar e receber dados.

O gerenciamento e o controle de trabalhos usam uma API do protocolo HTTPS. Os dispositivos podem usar uma API MQTT ou de protocolo HTTPS. A API do ambiente de gerenciamento é projetada para um volume baixo de chamadas típicas durante a criação e o acompanhamento de trabalhos. Normalmente, ela abre uma conexão para uma única solicitação e, em seguida, fecha a conexão depois que a resposta é recebida. O plano de dados HTTPS e a API MQTT permitem pesquisas longas. Essas operações de API foram projetadas para grandes quantidades de tráfego que podem ser escaladas para milhões de dispositivos.

Cada API HTTPS do serviço Jobs de AWS IoT tem um comando correspondente que permite chamar a API na AWS Command Line Interface (AWS CLI). Os comandos são em letras minúsculas, com hifens entre as palavras que compõem o nome da API. Por exemplo, você pode chamar a API CreateJob na CLI, digitando:

aws iot create-job ...

No caso de erro durante uma operação, você recebe uma resposta de erro que contém as informações sobre o erro.

Contém informações sobre um erro que ocorreu durante uma operação do serviço Jobs da AWS IoT.

O exemplo a seguir mostra a sintaxe dessa operação:

{ "code": "ErrorCode", "message": "string", "clientToken": "string", "timestamp": timestamp, "executionState": JobExecutionState }

A seguir está uma descrição desse ErrorResponse:

code

O ErrorCode pode ser definido como:

InvalidTopic

A solicitação foi enviada a um tópico no namespace dos serviço Jobs de AWS IoT que não está mapeado para nenhuma operação de API.

InvalidJson

O conteúdo da solicitação não pôde ser interpretado como JSON codificado em UTF-8 válido.

InvalidRequest

O conteúdo da solicitação não era válido. Por exemplo, esse código é retornado quando uma solicitação UpdateJobExecution contém detalhes do status inválido. A mensagem contém detalhes sobre o erro.

InvalidStateTransition

Uma atualização tentou alterar a execução do trabalho para um estado que não é válido devido ao estado atual da execução do trabalho. Por exemplo, uma tentativa de alterar uma solicitação no estado SUCCEEDED para o estado IN_PROGRESS. Nesse caso, o corpo da mensagem de erro também contém o campo executionState.

ResourceNotFound

A JobExecution especificada pelo tópico da solicitação não existe.

VersionMismatch

A versão esperada especificada na solicitação não corresponde à versão da execução do trabalho no serviço Jobs de AWS IoT. Nesse caso, o corpo da mensagem de erro também contém o campo executionState.

InternalError

Ocorreu um erro interno durante o processamento da solicitação.

RequestThrottled

A solicitação foi acelerada.

TerminalStateReached

Ocorre quando um comando para descrever um trabalho é executado em um trabalho que está em um estado terminal.

message

A sequência de uma mensagem de erro.

clientToken

Uma sequência arbitrária usada para correlacionar uma solicitação com sua resposta.

timestamp

O tempo, em segundos, desde a epoch.

executionState

Um objeto JobExecutionState. Esse campo é incluído apenas quando o campo code tem o valor InvalidStateTransition ou VersionMismatch. Nesses casos, torna-se desnecessário executar uma solicitação DescribeJobExecution separada para obter os dados do status da execução do trabalho atual.