

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.

# Cree plantillas de trabajo personalizadas mediante el AWS CLI
<a name="job-templates-cli"></a>

En este tema se explica cómo crear, eliminar y recuperar los detalles sobre las plantillas de trabajo mediante la AWS CLI.

## Creación de una plantilla de trabajo desde cero
<a name="job-templates-cli-create-scratch"></a>

El siguiente AWS CLI comando muestra cómo crear un trabajo mediante un documento de trabajo (*job-document.json*) almacenado en un bucket de S3 y un rol con permiso para descargar archivos de Amazon S3 (*S3DownloadRole*).

```
aws iot create-job-template  \
      --job-template-id 010  \
      --description "My custom job template for updating the device firmware"
      --document-source https://s3.amazonaws.com/amzn-s3-demo-bucket/job-document.json  \
      --timeout-config inProgressTimeoutInMinutes=100 \
      --job-executions-rollout-config "{ \"exponentialRate\": { \"baseRatePerMinute\": 50, \"incrementFactor\": 2, \"rateIncreaseCriteria\": { \"numberOfNotifiedThings\": 1000, \"numberOfSucceededThings\": 1000}}, \"maximumPerMinute\": 1000}" \
      --abort-config "{ \"criteriaList\": [ { \"action\": \"CANCEL\", \"failureType\": \"FAILED\", \"minNumberOfExecutedThings\": 100, \"thresholdPercentage\": 20}, { \"action\": \"CANCEL\", \"failureType\": \"TIMED_OUT\", \"minNumberOfExecutedThings\": 200, \"thresholdPercentage\": 50}]}" \          
      --presigned-url-config "{\"roleArn\":\"arn:aws:iam::123456789012:role/S3DownloadRole\", \"expiresInSec\":3600}"
```

El parámetro `timeout-config` opcional especifica la cantidad de tiempo que cada dispositivo tiene para finalizar su ejecución del trabajo. El temporizador comienza cuando el estado de ejecución del trabajo se establece en `IN_PROGRESS`. Si el estado de ejecución del trabajo no se establece en otro estado terminal antes de que se cumpla el plazo, se establecerá en `TIMED_OUT`.

El temporizador en curso no se puede actualizar y se aplica a todos los lanzamientos del trabajo. Cuando el lanzamiento de un trabajo permanece en ese `IN_PROGRESS` estado durante más tiempo que este intervalo, se produce un error en el lanzamiento del trabajo y pasa al `TIMED_OUT` estado terminal. AWS IoT también publica una notificación MQTT.

Para obtener más información acerca de cómo crear configuraciones sobre despliegues de trabajos y anulaciones, consulte [Despliegue de trabajos y configuración de anulaciones](job-rollout-abort-scheduling.html).

**nota**  
Los documentos de trabajo que está especificados como archivos de Amazon S3 se recuperan en el momento en el que crea el trabajo. Si cambia el contenido del archivo de Amazon S3 que usó como origen de su documento de trabajo después de haberlo creado, no cambia lo que se envía a los destinos del trabajo.

## Creación de una plantilla de trabajo a partir de un trabajo existente
<a name="job-templates-cli-create-from-job"></a>

El siguiente AWS CLI comando crea una plantilla de trabajo especificando el nombre de recurso de Amazon (ARN) de un trabajo existente. La nueva plantilla de trabajo utiliza todas las configuraciones especificadas en el trabajo. Si lo desea, puede cambiar cualquiera de las configuraciones del trabajo existente mediante cualquiera de los parámetros opcionales.

```
aws iot create-job-template  \
      --job-arn arn:aws:iot:region:123456789012:job/job-name  \      
      --timeout-config inProgressTimeoutInMinutes=100
```

## Obtención de detalles sobre una plantilla de trabajo
<a name="job-templates-cli-describe"></a>

El siguiente AWS CLI comando obtiene detalles sobre una plantilla de trabajo específica.

```
aws iot describe-job-template \
      --job-template-id template-id
```

El comando muestra el resultado siguiente.

```
{
   "abortConfig": { 
      "criteriaList": [ 
         { 
            "action": "string",
            "failureType": "string",
            "minNumberOfExecutedThings": number,
            "thresholdPercentage": number
         }
      ]
   },
   "createdAt": number,
   "description": "string",
   "document": "string",
   "documentSource": "string",
   "jobExecutionsRolloutConfig": { 
      "exponentialRate": { 
         "baseRatePerMinute": number,
         "incrementFactor": number,
         "rateIncreaseCriteria": { 
            "numberOfNotifiedThings": number,
            "numberOfSucceededThings": number
         }
      },
      "maximumPerMinute": number
   },
   "jobTemplateArn": "string",
   "jobTemplateId": "string",
   "presignedUrlConfig": { 
      "expiresInSec": number,
      "roleArn": "string"
   },
   "timeoutConfig": { 
      "inProgressTimeoutInMinutes": number
   }
}
```

## Obtención de una lista de las plantillas de trabajo
<a name="job-templates-cli-list"></a>

El siguiente AWS CLI comando muestra todas las plantillas de trabajo de su Cuenta de AWS.

```
 aws iot list-job-templates
```

El comando muestra el resultado siguiente.

```
{
   "jobTemplates": [ 
      { 
         "createdAt": number,
         "description": "string",
         "jobTemplateArn": "string",
         "jobTemplateId": "string"
      }
   ],
   "nextToken": "string"
}
```

Para recuperar páginas adicionales de resultados, utilice el valor del campo `nextToken`.

## Eliminación de una plantilla de trabajo
<a name="job-templates-cli-delete"></a>

El siguiente AWS CLI comando elimina una plantilla de trabajo especificada.

```
aws iot delete-job-template \
      --job-template-id template-id
```

El comando no muestra ninguna salida.

## Creación de un trabajo a partir de una plantilla de trabajo personalizada
<a name="job-templates-cli-create-job"></a>

El siguiente AWS CLI comando crea un trabajo a partir de una plantilla de trabajo personalizada. Se dirige a un dispositivo llamado `thingOne` y especifica el nombre de recurso de Amazon (ARN) de la plantilla de trabajo que se va a utilizar como base para el trabajo. Puede anular las configuraciones avanzadas, como las configuraciones del tiempo de espera y de cancelación, omitiendo los parámetros correspondientes del comando `create-job`.

**aviso**  
El objeto `document-parameters` se debe utilizar con el comando `create-job` únicamente al crear trabajos a partir de plantillas administradas por AWS . Este objeto no debe usarse con plantillas de trabajo personalizadas. Para ver un ejemplo que muestra cómo crear trabajos mediante este parámetro, consulte [Creación de un trabajo mediante plantillas administradas](job-template-manage-cli-create.md#job-template-manage-cli-create-job).

```
aws iot create-job \ 
      --targets arn:aws:iot:region:123456789012:thing/thingOne  \
      --job-template-arn arn:aws:iot:region:123456789012:jobtemplate/template-id
```