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á.
Gerenciamento e controle de tarefas API e tipos de dados
Os comandos a seguir estão disponíveis para gerenciamento e controle de Job no CLI e sobre o HTTPS protocolo.
Para determinar o endpoint-url
parâmetro para seus CLI comandos, execute esse comando.
aws iot describe-endpoint --endpoint-type=iot:Jobs
Este comando retorna a seguinte saída.
{ "endpointAddress": "
account-specific-prefix
.jobs.iot.aws-region
.amazonaws.com" }
nota
O endpoint Jobs não oferece suporte ALPNx-amzn-http-ca
.
Tipos de dados de gerenciamento e controle de trabalhos
Os tipos de dados a seguir são usados por aplicativos de gerenciamento e controle para se comunicar com AWS IoT Jobs.
O objeto Job
contém detalhes sobre um trabalho. O exemplo a seguir mostra a sintaxe:
{ "jobArn": "string", "jobId": "string", "status": "IN_PROGRESS|CANCELED|SUCCEEDED", "forceCanceled": boolean, "targetSelection": "CONTINUOUS|SNAPSHOT", "comment": "string", "targets": ["string"], "description": "string", "createdAt": timestamp, "lastUpdatedAt": timestamp, "completedAt": timestamp, "jobProcessDetails": { "processingTargets": ["string"], "numberOfCanceledThings": long, "numberOfSucceededThings": long, "numberOfFailedThings": long, "numberOfRejectedThings": long, "numberOfQueuedThings": long, "numberOfInProgressThings": long, "numberOfRemovedThings": long, "numberOfTimedOutThings": long }, "presignedUrlConfig": { "expiresInSec": number, "roleArn": "string" }, "jobExecutionsRolloutConfig": { "exponentialRate": { "baseRatePerMinute": integer, "incrementFactor": integer, "rateIncreaseCriteria": { "numberOfNotifiedThings": integer, // Set one or the other "numberOfSucceededThings": integer // of these two values. }, "maximumPerMinute": integer } }, "abortConfig": { "criteriaList": [ { "action": "string", "failureType": "string", "minNumberOfExecutedThings": integer, "thresholdPercentage": integer } ] }, "SchedulingConfig": { "startTime": string "endTime": string "timeZone": string "endTimeBehavior": string }, "timeoutConfig": { "inProgressTimeoutInMinutes": long } }
O objeto JobSummary
contém um resumo do trabalho. O exemplo a seguir mostra a sintaxe:
{ "jobArn": "string", "jobId": "string", "status": "IN_PROGRESS|CANCELED|SUCCEEDED|SCHEDULED", "targetSelection": "CONTINUOUS|SNAPSHOT", "thingGroupId": "string", "createdAt": timestamp, "lastUpdatedAt": timestamp, "completedAt": timestamp }
Para ter mais informações, consulte JobSummary
ou job-summary
.
O objeto JobExecution
representa a execução de um trabalho em um dispositivo. O exemplo a seguir mostra a sintaxe:
nota
Quando você usa as API operações do plano de controle, o tipo de JobExecution
dados não contém um JobDocument
campo. Para obter essas informações, você pode usar a GetJobDocument
APIoperação ou o get-job-document
CLIcomando.
{ "approximateSecondsBeforeTimedOut": 50, "executionNumber": 1234567890, "forceCanceled": true|false, "jobId": "string", "lastUpdatedAt": timestamp, "queuedAt": timestamp, "startedAt": timestamp, "status": "QUEUED|IN_PROGRESS|FAILED|SUCCEEDED|CANCELED|TIMED_OUT|REJECTED|REMOVED", "forceCanceled": boolean, "statusDetails": { "detailsMap": { "string": "string" ... }, "status": "string" }, "thingArn": "string", "versionNumber": 123 }
Para ter mais informações, consulte JobExecution
ou job-execution
.
O objeto JobExecutionSummary
contém informações resumidas sobre a execução do trabalho. O exemplo a seguir mostra a sintaxe:
{ "executionNumber": 1234567890, "queuedAt": timestamp, "lastUpdatedAt": timestamp, "startedAt": timestamp, "status": "QUEUED|IN_PROGRESS|FAILED|SUCCEEDED|CANCELED|TIMED_OUT|REJECTED|REMOVED" }
Para ter mais informações, consulte JobExecutionSummary
ou job-execution-summary
.
O objeto JobExecutionSummaryForJob
contém um resumo das informações sobre execuções de trabalho de um trabalho específico. O exemplo a seguir mostra a sintaxe:
{ "executionSummaries": [ { "thingArn": "arn:aws:iot:us-west-2:123456789012:thing/MyThing", "jobExecutionSummary": { "status": "IN_PROGRESS", "lastUpdatedAt": 1549395301.389, "queuedAt": 1541526002.609, "executionNumber": 1 } }, ... ] }
Para ter mais informações, consulte JobExecutionSummaryForJob
ou job-execution-summary-for-job
.
O JobExecutionSummaryForThing
objeto contém um resumo das informações sobre a execução de um trabalho em uma coisa específica. FTheo exemplo a seguir mostra a sintaxe:
{ "executionSummaries": [ { "jobExecutionSummary": { "status": "IN_PROGRESS", "lastUpdatedAt": 1549395301.389, "queuedAt": 1541526002.609, "executionNumber": 1 }, "jobId": "MyThingJob" }, ... ] }
Para ter mais informações, consulte JobExecutionSummaryForThing
ou job-execution-summary-for-thing
.
APIOperações de gerenciamento e controle de trabalhos
Use as seguintes API operações ou CLI comandos:
Associa um grupo a um trabalho contínuo. Os seguintes critérios devem ser atendidos:
-
O trabalho deve ter sido criado com o campo
targetSelection
definido comoCONTINUOUS
. -
O status do trabalho deve ser
IN_PROGRESS
. -
O número total de destinos associados a um trabalho não deve ultrapassar 100.
Cancela um trabalho.
Cancela uma execução de trabalho em um dispositivo.
Cria um trabalho. Você pode fornecer o documento de trabalho como um link para um arquivo em um bucket do Amazon S3; (parâmetro documentSource
) ou no corpo da solicitação (parâmetro document
).
Um trabalho pode se tornar contínuo definindo o parâmetro opcional targetSelection
como CONTINUOUS
(o padrão é SNAPSHOT
). Um trabalho contínuo pode ser usado para integrar ou atualizar dispositivos à medida que são adicionados a um grupo, pois ele continua em execução e é iniciado em itens recém-adicionados. Isso pode ocorrer mesmo após as objetos do grupo no momento em que o trabalho foi criado terem concluído o trabalho.
Um trabalho pode ter um opcional TimeoutConfig, que define o valor do cronômetro em andamento. O temporizador em andamento não pode ser atualizado e é aplicado a todas as execuções do trabalho.
As seguintes validações são realizadas em argumentos para o CreateJob
API:
-
O
targets
argumento deve ser uma lista de coisas ou grupos de coisas válidosARNs. Todas as coisas e grupos de coisas devem estar em seu Conta da AWS. -
O
documentSource
argumento deve ser um Amazon S3 válido URL para um documento de trabalho. O Amazon S3 URLs está no formato:.https://s3.amazonaws.com/
bucketName
/objectName
-
O documento armazenado no URL especificado pelo
documentSource
argumento deve ser um documento codificado UTF JSON em -8. -
O tamanho de um documento de trabalho é limitado a 32 KB devido ao limite do tamanho de uma MQTT mensagem (128 KB) e da criptografia.
-
jobId
Deve ser único em seu Conta da AWS.
Exclui um trabalho e as execuções de trabalho correspondentes.
A exclusão de um trabalho pode levar tempo, dependendo do número de execuções criadas para o trabalho e de vários outros fatores. Enquanto o trabalho está sendo excluído, o status do trabalho é exibido como "DELETION_IN_PROGRESS”. A tentativa de excluir ou cancelar um trabalho cujo status já é "DELETION_EM_PROGRESS" resulta em um erro.
Exclui uma execução de trabalho.
Obtém os detalhes da execução do trabalho.
Obtém os detalhes da execução de um trabalho. O status da execução do trabalho deve ser SUCCEEDED
ou FAILED
.
Obtém o documento de trabalho para um trabalho.
nota
Os espaços reservados não URLs são substituídos pelo Amazon URLs S3 pré-assinado no documento devolvido. Os pré-assinados URLs são gerados somente quando o serviço AWS IoT Jobs recebe uma solicitação. MQTT
Obtém uma lista de execuções de trabalhos para um trabalho.
Obtém uma lista de execuções de trabalhos para um objeto.
Obtém uma lista de empregos em seu Conta da AWS.
Atualiza campos compatíveis do trabalho especificado. Valores atualizados para timeoutConfig
entram em vigor somente para novas execuções em andamento. Atualmente, os lançamentos em andamento continuam sendo lançados com a configuração de tempo limite anterior.