View a markdown version of this page

Execução de trabalho - 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á.

Execução de trabalho

“O dispositivo pode concluir a execução de um trabalho”

Esse caso de teste ajuda você a validar se seu dispositivo é capaz de receber atualizações usando AWS IoT Jobs e publicar o status das atualizações bem-sucedidas. Para obter mais informações sobre AWS IoT trabalhos, consulte Trabalhos.

Para executar esse caso de teste com êxito, há dois tópicos da AWS reservados que você precisa conceder ao Perfil de dispositivo. Para assinar mensagens relacionadas a atividades de trabalhos, use os tópicos notify e notify-next. O perfil de dispositivo deve conceder a ação PUBLICAR para os seguintes tópicos:

  • $aws/things/ThingName /jobs/ jobID /get

  • $aws/things/ThingName /jobs/ jobID /update

É recomendável conceder ações de SUBSCRIBE e RECEIVE para os seguintes tópicos:

  • $aws/things/ThingName//aceito jobs/get

  • $aws/things/ThingName /jobs/ jobID/get/rejected

  • $aws/things/ThingName /jobs/ jobID/update/accepted

  • $aws/things/ThingName /jobs/ jobID/update/rejected

É recomendável conceder ações de SUBSCRIBE para o seguinte tópico:

  • $aws/things/thingName/jobs/notify-next

Para obter mais informações sobre esses tópicos reservados, consulte tópicos reservados para Trabalhos de AWS IoT.

O MQTT over não WebSocket é suportado no momento.

Definição do caso de teste da API:

nota

EXECUTION_TIMEOUT tem um valor padrão de cinco minutos. Recomendamos um valor de tempo limite de 3 minutos. Dependendo do documento de AWS IoT trabalho ou da fonte fornecida, ajuste o valor do tempo limite (por exemplo, se um trabalho levar muito tempo para ser executado, defina um valor de tempo limite maior para o caso de teste). Para executar o teste, é necessário um documento de AWS IoT trabalho válido ou um ID de trabalho já existente. Um documento de AWS IoT trabalho pode ser fornecido como um documento JSON ou um link do S3. Se um documento de trabalho for fornecido, fornecer um ID de trabalho é opcional. Se uma ID de tarefa for fornecida, o Device Advisor usará essa ID ao criar a AWS IoT tarefa em seu nome. Se o documento do trabalho não for fornecido, você poderá fornecer um ID existente que esteja na mesma região em que você está executando o caso de teste. Nesse caso, o Device Advisor usará esse AWS IoT trabalho ao executar o caso de teste.

"tests": [ { "name":"my_job_execution", "configuration": { // optional: // Test case will create a job task by using either JOB_DOCUMENT or JOB_DOCUMENT_SOURCE. // If you manage the job task on your own, leave it empty and provide the JOB_JOBID (self-managed job task). // JOB_DOCUMENT is a JSON formatted string "JOB_DOCUMENT": "{ \"operation\":\"reboot\", \"files\" : { \"fileName\" : \"install.py\", \"url\" : \"${aws:iot:s3-presigned-url:https://s3.amazonaws.com/bucket-name/key}\" } }", // JOB_DOCUMENT_SOURCE is an S3 link to the job document. It will be used only if JOB_DOCUMENT is not provided. "JOB_DOCUMENT_SOURCE": "https://s3.amazonaws.com/bucket-name/key", // JOB_JOBID is mandatory, only if neither document nor document source is provided. (Test case needs to know the self-managed job task id). "JOB_JOBID": "String", // JOB_PRESIGN_ROLE_ARN is used for the presign Url, which will replace the placeholder in the JOB_DOCUMENT field "JOB_PRESIGN_ROLE_ARN": "String", // Presigned Url expiration time. It must be between 60 and 3600 seconds, with the default value being 3600. "JOB_PRESIGN_EXPIRES_IN_SEC": "Long" "EXECUTION_TIMEOUT": "300", // in seconds }, "test": { "id": "Job_Execution", "version": "0.0.0" } } ]

Para obter mais informações sobre como criar e usar documentos de trabalho, consulte o documento de trabalho.