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 o AWS IoT Jobs e publicar o status de 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 AWS tópicos reservados que você precisa conceder à sua função de dispositivo. Para assinar mensagens relacionadas a atividades de trabalhos, use os tópicos notify e notify-next. Sua função de dispositivo deve conceder PUBLISH ações para os seguintes tópicos:
$aws/things/ /jobs/ /get thingNamejobId
$aws/things/ /jobs/ /update thingNamejobId
Recomenda-se a concessão de subsídios SUBSCRIBE e RECEIVE ações para os seguintes tópicos:
thingName$aws/things/ /jobs/get/accepted
$aws/things/ /jobs/ /get/rejeitado thingNamejobId
$aws/things/ /jobs/ /update/accepted thingNamejobId
$aws/things/ /jobs/ /update/rejeitado thingNamejobId
Recomenda-se conceder SUBSCRIBE ações para o seguinte tópico:
thingName$aws/things/ /jobs/notify-next
Para obter mais informações sobre esses tópicos reservados, consulte tópicos reservados para Trabalhos de AWS IoT.
MQTTover não WebSocket é suportado no momento.
APIdefinição do caso de teste:
nota
EXECUTION_TIMEOUT
tem um valor padrão de cinco minutos. Recomendamos um valor de tempo limite de 3 minutos. Dependendo do documento do AWS IoT Job 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 uma ID de trabalho já existente. Um documento AWS IoT Job pode ser fornecido como um JSON documento ou um link do S3. Se um documento de trabalho for fornecido, fornecer um ID de trabalho é opcional. Se um ID de trabalho for fornecido, o Device Advisor usará esse ID ao criar o AWS IoT Job 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 Job 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.