View a markdown version of this page

Dispositivos e trabalhos - 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á.

Dispositivos e trabalhos

Os dispositivos podem se comunicar com AWS IoT Jobs 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 Jobs. AWS IoT

Seus dispositivos podem se inscrever nos tópicos a seguir. thing-name é o nome do objeto associado ao dispositivo.

  • $aws/things/nome da coisa/jobs/notify

    Inscreva-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/nome da coisa/jobs/notify-próximo

    Inscreva-se neste tópico para receber uma notificação quando a próxima execução de trabalho pendente for alterada.

  • $aws/things/nome da coisa/empregos/nome da solicitação/aceito

    O serviço AWS IoT Jobs publica mensagens de sucesso e falha em um tópico do MQTT. O tópico é formado anexando accepted ou rejected ao tópico usado para fazer a solicitação. Aqui, request-name está o nome de uma solicitação, como Get e o tópico pode ser:$aws/things/myThing/jobs/get. AWS IoT Em seguida, Jobs publica mensagens de sucesso sobre o $aws/things/myThing/jobs/get/accepted tópico.

  • $aws/things/nome da coisa/empregos/nome da solicitação/rejeitado

    Aqui, request-name é nome de uma solicitação, como Get. Se a solicitação falhar, AWS IoT Jobs publicará mensagens de falha sobre o $aws/things/myThing/jobs/get/rejected tópico.

Você também pode usar as seguintes operações de API de HTTPS:

Os dispositivos podem se comunicar com AWS IoT Jobs usando a assinatura HTTP versão 4 na porta 443. Este é o método usado pelos SDKs da AWS e pela CLI. Para obter mais informações sobre essas ferramentas, consulte Referência de AWS CLI comandos: iot-jobs-data ou AWS SDKs e ferramentas e consulte a seção de seu idioma preferido. IotJobsDataPlane

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 suporta esse protocolo.

Com esse método, seu dispositivo usa autenticação X.509 baseada em certificado (por exemplo, o certificado específico do 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/MyThing/jobs/notify (ou $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 para AWS IoT, o código do seu 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.