

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Especifique las configuraciones de los trabajos mediante la API AWS IoT de trabajos
<a name="job-configurations-api"></a>

Puede usar la API [CreateJob](https://docs.aws.amazon.com/iot/latest/apireference/API_CreateJob.html)o la [CreateJobTemplate](https://docs.aws.amazon.com/iot/latest/apireference/API_CreateJobTemplate.html)API para especificar las diferentes configuraciones de trabajo. En las siguientes secciones se describe cómo añadir estas configuraciones. Una vez agregadas las configuraciones, puede [JobExecutionSummary](https://docs.aws.amazon.com/iot/latest/apireference/API_JobExecutionSummary.html)utilizarlas y [JobExecutionSummaryForJob](https://docs.aws.amazon.com/iot/latest/apireference/API_JobExecutionSummaryForJob.html)ver su estado.

Para obtener más información sobre las diferentes configuraciones y cómo funcionan, consulte [Cómo funcionan las configuraciones de trabajos](jobs-configurations-details.md).

## Configuración de despliegue
<a name="job-rollout-api"></a>

Puede especificar una velocidad de despliegue constante o exponencial para la configuración de despliegue.
+ 

**Establecimiento de una velocidad de despliegue constante**  
Para establecer una velocidad de despliegue constante, use el objeto [https://docs.aws.amazon.com/iot/latest/apireference/API_JobExecutionsRolloutConfig.html](https://docs.aws.amazon.com/iot/latest/apireference/API_JobExecutionsRolloutConfig.html) para añadir el parámetro `maximumPerMinute` a la solicitud `CreateJob`. Este parámetro especifica el límite superior de la velocidad a la cual pueden producirse las ejecuciones de los trabajos. Este valor es opcional y va de 1 a 1000. Si no se establece, se usará 1000 como valor predeterminado.

  ```
      "jobExecutionsRolloutConfig": {
          "maximumPerMinute": 1000
      }
  ```
+ 

**Establecimiento de una velocidad de despliegue exponencial**  
Para establecer una velocidad de despliegue de trabajos variable, utilice el objeto [https://docs.aws.amazon.com/iot/latest/apireference/API_JobExecutionsRolloutConfig.html](https://docs.aws.amazon.com/iot/latest/apireference/API_JobExecutionsRolloutConfig.html). Puede configurar la propiedad `ExponentialRolloutRate` al ejecutar la operación `CreateJob` de la API. En el siguiente ejemplo se establece una velocidad de despliegue exponencial mediante el parámetro `exponentialRate`. Para obtener más información sobre los 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
      }
    }
  ...
  }
  ```

Donde el parámetro:

**baseRatePerMinuto**  
Especifica la velocidad a la cual se ejecutan los trabajos hasta llegar al umbral `numberOfNotifiedThings` o `numberOfSucceededThings`.

**incrementFactor**  
Especifica el factor exponencial según el cual aumenta la velocidad de despliegue tras alcanzar el umbral `numberOfNotifiedThings` o `numberOfSucceededThings`.

**rateIncreaseCriteria**  
Especifica el umbral `numberOfNotifiedThings` o `numberOfSucceededThings`.

## Configuración de anulación
<a name="job-abort-api"></a>

Para añadir esta configuración mediante la API, especifique el parámetro [https://docs.aws.amazon.com/iot/latest/apireference/API_AbortConfig.html](https://docs.aws.amazon.com/iot/latest/apireference/API_AbortConfig.html) al ejecutar la operación [https://docs.aws.amazon.com/iot/latest/apireference/API_CreateJob.html](https://docs.aws.amazon.com/iot/latest/apireference/API_CreateJob.html) o [https://docs.aws.amazon.com/iot/latest/apireference/API_CreateJobTemplate.html](https://docs.aws.amazon.com/iot/latest/apireference/API_CreateJobTemplate.html) de la API. En el siguiente ejemplo, se muestra una configuración de anulación para el despliegue de un trabajo que estaba experimentando varias ejecuciones fallidas, tal y como se especificó en la operación `CreateJob` de la API.

**nota**  
Eliminar la ejecución de un trabajo afecta al valor de cálculo del total de ejecuciones realizadas. Cuando se anula un trabajo, el servicio crea valores `comment` y `reasonCode` automáticos para diferenciar una cancelación promovida por un usuario de una de anulación de un trabajo.

```
   "abortConfig": { 
      "criteriaList": [ 
         { 
            "action": "CANCEL",
            "failureType": "FAILED",
            "minNumberOfExecutedThings": 100,
            "thresholdPercentage": 20
         },
         { 
            "action": "CANCEL",
            "failureType": "TIMED_OUT",
            "minNumberOfExecutedThings": 200,
            "thresholdPercentage": 50
         }
      ]
    }
```

Donde el parámetro:

**action**  
Especifica la acción que se debe realizar cuando se han cumplido los criterios de anulación. Este parámetro es necesario y `CANCEL` es el único valor válido.

**failureType**  
Especifica qué tipos de error deben iniciar la anulación de un trabajo. Los valores válidos son `FAILED`, `REJECTED`, `TIMED_OUT` y `ALL`.

**minNumberOfExecutedThings**  
Especifica el número de ejecuciones de trabajos completadas que deben ocurrir antes de que se cumplan los criterios de anulación del trabajo. En este ejemplo, AWS IoT no comprueba si se debe anular un trabajo hasta que al menos 100 dispositivos hayan completado ejecuciones de trabajos.

**thresholdPercentage**  
Especifica el número total de objetos para los que se ejecutan trabajos que pueden iniciar la anulación de un trabajo. En este ejemplo, AWS IoT comprueba secuencialmente e inicia una anulación del trabajo si se alcanza el porcentaje límite. Si al menos el 20 % de las ejecuciones completas fallan una vez finalizadas 100 ejecuciones, se cancela el despliegue del trabajo. Si no se cumple este criterio, comprueba si se ha AWS IoT agotado el tiempo de espera de al menos el 50% de las ejecuciones completadas una vez finalizadas 200 ejecuciones. Si este es el caso, se cancela el despliegue del trabajo.

## Configuración de programación
<a name="job-scheduling-api"></a>

Para añadir esta configuración mediante la API, especifique la [https://docs.aws.amazon.com/iot/latest/apireference/API_SchedulingConfig.html](https://docs.aws.amazon.com/iot/latest/apireference/API_SchedulingConfig.html) opcional al ejecutar la operación [https://docs.aws.amazon.com/iot/latest/apireference/API_CreateJob.html](https://docs.aws.amazon.com/iot/latest/apireference/API_CreateJob.html) o [https://docs.aws.amazon.com/iot/latest/apireference/API_CreateJobTemplate.html](https://docs.aws.amazon.com/iot/latest/apireference/API_CreateJobTemplate.html) de la API.

```
    "SchedulingConfig": { 
      "endBehavior": string
      "endTime": string
      "maintenanceWindows": string
      "startTime": string
   }
```

Donde el parámetro:

**startTime**  
Especifica la fecha y la hora en que se iniciará el trabajo.

**endTime**  
Especifica la fecha y la hora en que finalizará el trabajo.

**maintenanceWindows**  
Especifica si se ha seleccionado un periodo de mantenimiento opcional para el trabajo programado a fin de desplegar el documento de trabajo en todos los dispositivos del grupo de destino. El formato de cadena `maintenanceWindow` es YYYY/MM/DD para la fecha y hh:mm para la hora.

**endBehavior**  
Especifica el comportamiento de un trabajo programado al llegar al `endTime`.

**nota**  
El elemento opcional `SchedulingConfig` para un trabajo se puede ver en y. [https://docs.aws.amazon.com/iot/latest/apireference/API_DescribeJob.html](https://docs.aws.amazon.com/iot/latest/apireference/API_DescribeJob.html) APIs

## Configuración de tiempo de espera
<a name="job-timeout-api"></a>

Para añadir esta configuración mediante la API, especifique el parámetro [https://docs.aws.amazon.com/iot/latest/apireference/API_TimeoutConfig.html](https://docs.aws.amazon.com/iot/latest/apireference/API_TimeoutConfig.html) al ejecutar la operación [https://docs.aws.amazon.com/iot/latest/apireference/API_CreateJob.html](https://docs.aws.amazon.com/iot/latest/apireference/API_CreateJob.html) o [https://docs.aws.amazon.com/iot/latest/apireference/API_CreateJobTemplate.html](https://docs.aws.amazon.com/iot/latest/apireference/API_CreateJobTemplate.html) de la API.

Para usar la configuración de tiempo de espera

1. Para configurar el temporizador en curso al crear un trabajo o una plantilla de trabajo, defina un valor para la `inProgressTimeoutInMinutes` propiedad del objeto opcional [TimeoutConfig](https://docs.aws.amazon.com//iot/latest/apireference/API_TimeoutConfig.html).

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

1. Para especificar un temporizador gradual para la ejecución de un trabajo, defina un valor para `stepTimeoutInMinutes` cuando llame [UpdateJobExecution](https://docs.aws.amazon.com//iot/latest/apireference/API_iot-jobs-data_UpdateJobExecution.html). El temporizador de pasos se aplica únicamente a la ejecución del trabajo que actualice. Puede establecer un nuevo valor para este temporizador cada vez que actualice la ejecución de un trabajo.
**nota**  
`UpdateJobExecution` puede descartar un temporizador de pasos que ya se ha creado mediante la creación de un nuevo temporizador de pasos con un valor de -1.

   ```
   {
      ... 
       "statusDetails": { 
         "string" : "string" 
      },
      "stepTimeoutInMinutes": number
   }
   ```

1. Para crear un nuevo temporizador por pasos, también puedes llamar a la operación de la [StartNextPendingJobExecution](https://docs.aws.amazon.com//iot/latest/apireference/API_iot-jobs-data_StartNextPendingJobExecution.html)API.

## Configuración de reintentos
<a name="job-retry-api"></a>

**nota**  
Al crear un trabajo, tenga en cuenta el número adecuado de reintentos que desee utilizar en la configuración. Para evitar incurrir en costes excesivos debido a posibles errores en los reintentos, añada una configuración de anulación. Una vez creado un trabajo, no se puede actualizar el número de reintentos. Solo puedes establecer el número de reintentos en 0 mediante la operación de [UpdateJob](https://docs.aws.amazon.com/iot/latest/apireference/API_UpdateJob.html)API.

Para añadir esta configuración mediante la API, especifique el parámetro [https://docs.aws.amazon.com/iot/latest/apireference/API_jobExecutionsRetryConfig.html](https://docs.aws.amazon.com/iot/latest/apireference/API_jobExecutionsRetryConfig.html) al ejecutar la operación [https://docs.aws.amazon.com/iot/latest/apireference/API_CreateJob.html](https://docs.aws.amazon.com/iot/latest/apireference/API_CreateJob.html) o [https://docs.aws.amazon.com/iot/latest/apireference/API_CreateJobTemplate.html](https://docs.aws.amazon.com/iot/latest/apireference/API_CreateJobTemplate.html) de la API.

```
{
...
  "jobExecutionsRetryConfig": { 
      "criteriaList": [ 
         { 
            "failureType": "string",
            "numberOfRetries": number
         }
      ]
  }
...
}
```

Donde **criteriaList** es una matriz que especifica la lista de criterios que determina el número de reintentos permitidos para cada tipo de error de un trabajo.