

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 AWS IoT Jobs
<a name="job-configurations-api"></a>

Você pode usar a [CreateJob](https://docs.aws.amazon.com/iot/latest/apireference/API_CreateJob.html)ou a [CreateJobTemplate](https://docs.aws.amazon.com/iot/latest/apireference/API_CreateJobTemplate.html)API 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 [JobExecutionSummary](https://docs.aws.amazon.com/iot/latest/apireference/API_JobExecutionSummary.html)e visualizar [JobExecutionSummaryForJob](https://docs.aws.amazon.com/iot/latest/apireference/API_JobExecutionSummaryForJob.html)o status delas.

Para obter mais informações sobre as diferentes configurações e como elas funcionam, consulte [Como as configurações de trabalho funcionam](jobs-configurations-details.md).

## Configuração de distribuição
<a name="job-rollout-api"></a>

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 [https://docs.aws.amazon.com/iot/latest/apireference/API_JobExecutionsRolloutConfig.html](https://docs.aws.amazon.com/iot/latest/apireference/API_JobExecutionsRolloutConfig.html) para adicionar o parâmetro `maximumPerMinute` à solicitação `CreateJob`. 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 [https://docs.aws.amazon.com/iot/latest/apireference/API_JobExecutionsRolloutConfig.html](https://docs.aws.amazon.com/iot/latest/apireference/API_JobExecutionsRolloutConfig.html). Você pode configurar a propriedade `ExponentialRolloutRate` ao executar a operação da API `CreateJob`. O exemplo a seguir define uma taxa de distribuição exponencial usando o parâmetro `exponentialRate`. Para obter mais informações sobre os parâmetros, consulte [https://docs.aws.amazon.com/iot/latest/apireference/API_ExponentialRolloutRate.html](https://docs.aws.amazon.com/iot/latest/apireference/API_ExponentialRolloutRate.html).

  ```
  {
  ...
    "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` ou `numberOfSucceededThings` seja atingido.

**incrementFactor**  
Especifica o fator exponencial em que a taxa de distribuição aumenta após o limite `numberOfNotifiedThings` ou `numberOfSucceededThings` ser atingido.

**rateIncreaseCriteria**  
Especifica o limite `numberOfNotifiedThings` ou `numberOfSucceededThings`.

## Configuração de anulação
<a name="job-abort-api"></a>

Para adicionar essa configuração usando a API, especifique o parâmetro [https://docs.aws.amazon.com/iot/latest/apireference/API_AbortConfig.html](https://docs.aws.amazon.com/iot/latest/apireference/API_AbortConfig.html) ao executar a [https://docs.aws.amazon.com/iot/latest/apireference/API_CreateJob.html](https://docs.aws.amazon.com/iot/latest/apireference/API_CreateJob.html), ou a operação da API [https://docs.aws.amazon.com/iot/latest/apireference/API_CreateJobTemplate.html](https://docs.aws.amazon.com/iot/latest/apireference/API_CreateJobTemplate.html). 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` e `ALL`.

**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
<a name="job-scheduling-api"></a>

Para adicionar essa configuração usando a API, especifique a [https://docs.aws.amazon.com/iot/latest/apireference/API_SchedulingConfig.html](https://docs.aws.amazon.com/iot/latest/apireference/API_SchedulingConfig.html) opcional ao executar a [https://docs.aws.amazon.com/iot/latest/apireference/API_CreateJob.html](https://docs.aws.amazon.com/iot/latest/apireference/API_CreateJob.html), ou a operação da API [https://docs.aws.amazon.com/iot/latest/apireference/API_CreateJobTemplate.html](https://docs.aws.amazon.com/iot/latest/apireference/API_CreateJobTemplate.html).

```
    "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` é YYYY/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**  
O opcional `SchedulingConfig` para um trabalho pode ser visualizado no [https://docs.aws.amazon.com/iot/latest/apireference/API_DescribeJob.html](https://docs.aws.amazon.com/iot/latest/apireference/API_DescribeJob.html)e. [https://docs.aws.amazon.com/iot/latest/apireference/API_DescribeJobTemplate.html](https://docs.aws.amazon.com/iot/latest/apireference/API_DescribeJobTemplate.html) APIs

## Configuração de tempo limite
<a name="job-timeout-api"></a>

Para adicionar essa configuração usando a API, especifique o parâmetro [https://docs.aws.amazon.com/iot/latest/apireference/API_TimeoutConfig.html](https://docs.aws.amazon.com/iot/latest/apireference/API_TimeoutConfig.html) ao executar a [https://docs.aws.amazon.com/iot/latest/apireference/API_CreateJob.html](https://docs.aws.amazon.com/iot/latest/apireference/API_CreateJob.html), ou a operação da API [https://docs.aws.amazon.com/iot/latest/apireference/API_CreateJobTemplate.html](https://docs.aws.amazon.com/iot/latest/apireference/API_CreateJobTemplate.html).

Para usar a configuração de tempo limite

1. 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](https://docs.aws.amazon.com//iot/latest/apireference/API_TimeoutConfig.html).

   ```
       "timeoutConfig": { 
         "inProgressTimeoutInMinutes": number
      }
   ```

1. Para especificar um cronômetro de etapas para a execução de um trabalho, defina um valor para `stepTimeoutInMinutes` quando você chama [UpdateJobExecution](https://docs.aws.amazon.com//iot/latest/apireference/API_iot-jobs-data_UpdateJobExecution.html). 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
   }
   ```

1. Para criar um novo cronômetro de etapas, você também pode chamar a operação da [StartNextPendingJobExecution](https://docs.aws.amazon.com//iot/latest/apireference/API_iot-jobs-data_StartNextPendingJobExecution.html)API.

## Configuração de repetição
<a name="job-retry-api"></a>

**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 [UpdateJob](https://docs.aws.amazon.com/iot/latest/apireference/API_UpdateJob.html)API.

Para adicionar essa configuração usando a API, especifique o parâmetro [https://docs.aws.amazon.com/iot/latest/apireference/API_jobExecutionsRetryConfig.html](https://docs.aws.amazon.com/iot/latest/apireference/API_jobExecutionsRetryConfig.html) ao executar a [https://docs.aws.amazon.com/iot/latest/apireference/API_CreateJob.html](https://docs.aws.amazon.com/iot/latest/apireference/API_CreateJob.html), ou a operação da API [https://docs.aws.amazon.com/iot/latest/apireference/API_CreateJobTemplate.html](https://docs.aws.amazon.com/iot/latest/apireference/API_CreateJobTemplate.html).

```
{
...
  "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.