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á.
Dispositivos e trabalhos
Os dispositivos podem se comunicar com AWS IoT trabalhos usando MQTT, HTTP Signature versão 4 ou HTTP TLS. Para determinar o endpoint a ser usado quando seu dispositivo se comunica com AWS IoT Jobs, execute o DescribeEndpoint comando. Por exemplo, se você executar este comando:
aws iot describe-endpoint --endpoint-type iot:Data-ATS
você obterá um resultado semelhante ao seguinte:
{ "endpointAddress": "a1b2c3d4e5f6g7-ats.iot.us-west-2.amazonaws.com" }
Os dispositivos podem se comunicar com AWS IoT Jobs usando o protocolo MQTT. Os dispositivos se inscrevem nos tópicos do MQTT para serem notificados sobre novos trabalhos e receber respostas do serviço AWS IoT Jobs. Os dispositivos publicam em tópicos MQTT para consultar ou atualizar o estado do lançamento de um trabalho. Cada dispositivo tem seu próprio tópico geral MQTT. Para obter mais informações sobre publicação e assinatura em tópicos MQTT, consulte Protocolos de comunicação do dispositivo.
Com esse método de comunicação, seu dispositivo usa o certificado e a chave privada específicos do dispositivo para se autenticar com o Jobs. AWS IoT
Seus dispositivos podem se inscrever nos tópicos a seguir. thing-name é o nome do objeto associado ao dispositivo.
-
$aws/things/thing-name/jobs/notifyInscreva-se neste tópico para receber uma notificação quando um lançamento de trabalho for adicionado ou removido da lista de lançamentos de trabalhos pendentes.
-
$aws/things/thing-name/jobs/notify-nextInscreva-se neste tópico para receber uma notificação quando a próxima execução de trabalho pendente for alterada.
-
$aws/things/thing-name/jobs/request-name/acceptedO serviço AWS IoT Jobs publica mensagens de sucesso e falha em um tópico do MQTT. O tópico é formado anexando
acceptedourejectedao tópico usado para fazer a solicitação. Aqui,request-nameestá o nome de uma solicitação, comoGete o tópico pode ser:$aws/things/myThing/jobs/get. AWS IoTEm seguida, Jobs publica mensagens de sucesso sobre o$aws/things/myThing/jobs/get/acceptedtópico. -
$aws/things/thing-name/jobs/request-name/rejectedAqui,
request-nameé nome de uma solicitação, comoGet. Se a solicitação falhar, AWS IoT Jobs publicará mensagens de falha sobre o$aws/things/myThing/jobs/get/rejectedtópico.
Você também pode usar as seguintes operações de API de HTTPS:
-
Atualizar o status de uma execução de trabalho chamando a API
UpdateJobExecution. -
Consultar o status da execução de um trabalho chamando a API
DescribeJobExecution. -
Recuperar uma lista de execuções de trabalhos pendentes, chamando a API
GetPendingJobExecutions. -
Recuperar a próxima execução de trabalho pendente chamando a API
DescribeJobExecutioncom ojobId$next. -
Acessar e iniciar a próxima execução de trabalho pendente chamando a API
StartNextPendingJobExecution.
Os dispositivos podem se comunicar com AWS IoT Jobs usando a assinatura HTTP versão 4 na porta 443. Esse é o método usado pela AWS SDKs e CLI. Para obter mais informações sobre essas ferramentas, consulte Referência de AWS CLI Comandos: iot-jobs-data ou Ferramentas AWS SDKs e
Com esse método de comunicação, seu dispositivo usa credenciais do IAM para se autenticar com AWS IoT Jobs.
Os comandos a seguir estão disponíveis usando esse método:
-
DescribeJobExecution
aws iot-jobs-data describe-job-execution ... -
GetPendingJobExecutions
aws iot-jobs-data get-pending-job-executions ... -
StartNextPendingJobExecution
aws iot-jobs-data start-next-pending-job-execution ... -
UpdateJobExecution
aws iot-jobs-data update-job-execution ...
Os dispositivos podem se comunicar com AWS IoT Jobs usando HTTP TLS na porta 8443 usando um cliente de software de terceiros que ofereça suporte a esse protocolo.
Com esse método, seu dispositivo usa a autenticação baseada em certificado X.509 (por exemplo, o certificado específico para o dispositivo e a chave privada).
Os comandos a seguir estão disponíveis usando esse método:
-
DescribeJobExecution
-
GetPendingJobExecutions
-
StartNextPendingJobExecution
-
UpdateJobExecution
Programar dispositivos para funcionarem com trabalhos
Os exemplos nesta seção usam MQTT para ilustrar como um dispositivo funciona com serviço Jobs da AWS IoT. Se desejar, você pode usar os comandos da API ou CLI correspondentes. Nesses exemplos, estamos supondo que um dispositivo chamado MyThing assinará os seguintes tópicos MQTT:
-
$aws/things/(ouMyThing/jobs/notify$aws/things/)MyThing/jobs/notify-next -
$aws/things/MyThing/jobs/get/accepted -
$aws/things/MyThing/jobs/get/rejected -
$aws/things/MyThing/jobs/jobId/get/accepted -
$aws/things/MyThing/jobs/jobId/get/rejected
Se você estiver usando a assinatura de código paraAWS IoT, o código do dispositivo deverá verificar a assinatura do seu arquivo de código. A assinatura está no documento de trabalho na propriedade codesign. Para obter mais informações sobre como verificar uma assinatura de arquivo de código, consulte Device Agent Sample