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á.
Especifique as configurações do trabalho usando a API do trabalho do AWS IoT
Você pode usar a CreateJobou a CreateJobTemplateAPI para especificar as diferentes configurações de trabalho. As seções a seguir descrevem como adicionar essas configurações. Depois de adicionar as configurações, você pode usar JobExecutionSummarye visualizar JobExecutionSummaryForJobo status delas.
Para obter mais informações sobre as diferentes configurações e como elas funcionam, consulte Como as configurações de trabalho funcionam.
Configuração de distribuição
Você pode especificar uma taxa de distribuição constante ou exponencial para sua configuração de distribuição.
-
Defina uma taxa de distribuição constante
Para definir uma taxa de distribuição constante, use o objeto
JobExecutionsRolloutConfig
para adicionar o parâmetromaximumPerMinute
à solicitaçãoCreateJob
. Esse parâmetro especifica o limite superior da taxa em que as execuções de trabalho podem ocorrer. Esse valor é opcional e varia de 1 a 1000. Se você não definir o valor, ele usará 1000 como valor padrão."jobExecutionsRolloutConfig": { "maximumPerMinute": 1000 }
-
Defina uma taxa de distribuição exponencial
Para definir uma taxa variável de distribuição de trabalhos, use o objeto
JobExecutionsRolloutConfig
. Você pode configurar a propriedade
ao executar a operação da APIExponentialRolloutRate
CreateJob
. O exemplo a seguir define uma taxa de distribuição exponencial usando o parâmetroexponentialRate
. Para obter mais informações sobre os parâmetros, consulteExponentialRolloutRate
.{ ... "jobExecutionsRolloutConfig": { "exponentialRate": { "baseRatePerMinute": 50, "incrementFactor": 2, "rateIncreaseCriteria": { "numberOfNotifiedThings": 1000, "numberOfSucceededThings": 1000 }, "maximumPerMinute": 1000 } } ... }
Em que o parâmetro:
- baseRatePerMinuto
-
Especifica a taxa em que os trabalhos são executados até que o limite
numberOfNotifiedThings
ounumberOfSucceededThings
seja atingido. - incrementFactor
-
Especifica o fator exponencial em que a taxa de distribuição aumenta após o limite
numberOfNotifiedThings
ounumberOfSucceededThings
ser atingido. - rateIncreaseCriteria
-
Especifica o limite
numberOfNotifiedThings
ounumberOfSucceededThings
.
Configuração de anulação
Para adicionar essa configuração usando a API, especifique o parâmetro AbortConfig
ao executar a CreateJob
, ou a operação da API CreateJobTemplate
. O exemplo a seguir mostra uma configuração de anulação para uma distribuição de trabalho que estava passando por várias execuções malsucedidas, conforme especificado na operação da API CreateJob
.
nota
Excluir uma execução de trabalho afeta o valor computacional da execução total concluída. Quando um trabalho é anulado, o serviço cria um comment
automatizado e um reasonCode
para diferenciar um cancelamento orientado pelo usuário de um cancelamento por anulação de trabalho.
"abortConfig": { "criteriaList": [ { "action": "CANCEL", "failureType": "FAILED", "minNumberOfExecutedThings": 100, "thresholdPercentage": 20 }, { "action": "CANCEL", "failureType": "TIMED_OUT", "minNumberOfExecutedThings": 200, "thresholdPercentage": 50 } ] }
Em que o parâmetro:
- ação
-
Especifica a ação a ser tomada quando os critérios de anulação são atendidos. Esse parâmetro é necessário, e
CANCEL
é o único valor válido. - failureType
-
Especifica quais tipos de falha devem iniciar uma anulação de trabalho. Os valores válidos são
FAILED
,REJECTED
,TIMED_OUT
eALL
. - minNumberOfExecutedThings
-
Especifica o número de execuções de trabalho concluídas que devem ocorrer antes de os critérios de anulação do trabalho serem atendidos. Neste exemplo, a AWS IoT não verifica se a anulação de um trabalho deve ocorrer até que pelo menos 100 dispositivos tenham concluído as execuções do trabalho.
- thresholdPercentage
-
Especifica o número total de objetos para as quais trabalhos são executados que podem iniciar uma anulação de trabalho. Neste exemplo, AWS IoT verifica sequencialmente e inicia um aborto de trabalho se a porcentagem limite for atingida. Se pelo menos 20% das execuções completas falharem após a conclusão de cem execuções, a distribuição do trabalho será cancelada. Se esse critério não AWS IoT for atendido, verifique se pelo menos 50% das execuções concluídas atingiram o tempo limite após a conclusão de 200 execuções. Se for esse o caso, ele cancela a distribuição do trabalho.
Configuração de agendamento
Para adicionar essa configuração usando a API, especifique a SchedulingConfig
opcional ao executar a CreateJob
, ou a operação da API CreateJobTemplate
.
"SchedulingConfig": { "endBehavior": string "endTime": string "maintenanceWindows": string "startTime": string }
Em que o parâmetro:
- startTime
-
Especifica a data e a hora de início do trabalho.
- endTime
-
Especifica a data e a hora em que o trabalho terminará.
- maintenanceWindows
Especifica se uma janela de manutenção opcional foi selecionada para o trabalho agendado para distribuir o documento do trabalho em todos os dispositivos no grupo de destino. O formato de string para
maintenanceWindow
é AAAA/MM/DD para a data e hh:mm para a hora.- endBehavior
-
Especifica o comportamento do trabalho para um trabalho agendado ao chegar ao
endTime
.
nota
A SchedulingConfig
opcional para um trabalho pode ser visualizada nas APIs DescribeJob
e DescribeJobTemplate
.
Configuração de tempo limite
Para adicionar essa configuração usando a API, especifique o parâmetro TimeoutConfig
ao executar a CreateJob
, ou a operação da API CreateJobTemplate
.
Para usar a configuração de tempo limite
-
Para definir o cronômetro em andamento ao criar um trabalho ou modelo de trabalho, defina um valor para a
inProgressTimeoutInMinutes
propriedade do objeto opcional TimeoutConfig."timeoutConfig": { "inProgressTimeoutInMinutes": number }
-
Para especificar um cronômetro de etapas para a execução de um trabalho, defina um valor para
stepTimeoutInMinutes
quando você chama UpdateJobExecution. O temporizador de etapa se aplica apenas à execução do trabalho que você atualizar. É possível definir um novo valor para esse temporizador cada vez que você atualizar uma execução de trabalho.nota
UpdateJobExecution
também descarta um temporizador de etapa que já foi criado por meio da criação de um novo temporizador de etapa com um valor de -1.{ ... "statusDetails": { "string" : "string" }, "stepTimeoutInMinutes": number }
-
Para criar um novo cronômetro de etapas, você também pode chamar a operação da StartNextPendingJobExecutionAPI.
Configuração de repetição
nota
Ao criar um trabalho, considere o número apropriado de repetições a serem usadas em sua configuração. Para evitar custos excessivos devido a possíveis falhas de repetição, adicione uma configuração de anulação. Depois que um trabalho é criado, o número de repetições não pode ser atualizado. Você só pode definir o número de novas tentativas como 0 usando a operação da UpdateJobAPI.
Para adicionar essa configuração usando a API, especifique o parâmetro jobExecutionsRetryConfig
ao executar a CreateJob
, ou a operação da API CreateJobTemplate
.
{ ... "jobExecutionsRetryConfig": { "criteriaList": [ { "failureType": "string", "numberOfRetries": number } ] } ... }
Onde criteriaList é uma matriz que especifica a lista de critérios que determina o número de novas tentativas permitidas para cada tipo de falha em um trabalho.