

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á.

# Crie modelos de trabalho personalizados usando o AWS CLI
<a name="job-templates-cli"></a>

Este tópico explica como criar, excluir e recuperar detalhes sobre modelos de trabalho usando a AWS CLI.

## Crie um modelo de trabalho do zero
<a name="job-templates-cli-create-scratch"></a>

O AWS CLI comando a seguir mostra como criar um trabalho usando um documento de trabalho (*job-document.json*) armazenado em um bucket do S3 e uma função com permissão para baixar arquivos do 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}"
```

O parâmetro opcional `timeout-config` especifica o tempo que cada dispositivo tem para concluir a execução do trabalho. O temporizador é iniciado quando o status da execução do trabalho é definido como `IN_PROGRESS`. Se o status da execução do trabalho não estiver definido como outro estado terminal antes que o tempo expire, ele será definido como `TIMED_OUT`.

O temporizador em andamento não pode ser atualizado e é aplicado a todos os lançamentos de trabalho para o trabalho. Sempre que o lançamento de um trabalho permanece no `IN_PROGRESS` estado por mais tempo do que esse intervalo, o lançamento do trabalho falha e muda para o `TIMED_OUT` status do terminal. AWS IoT também publica uma notificação MQTT.

Para obter mais informações sobre como criar configurações para distribuir e anular trabalhos, consulte [Configuração para distribuir e anular trabalhos](job-rollout-abort-scheduling.html).

**nota**  
Os documentos de trabalho que são especificados como arquivos do Amazon S3 são recuperados no momento em que você cria o trabalho. Se você alterar o conteúdo do arquivo do Amazon S3 que você usou como a origem de seu documento de trabalho depois de ter criado o trabalho, o que é enviado para os destinos do trabalho não é alterado.

## Crie um modelo de trabalho a partir de um trabalho existente
<a name="job-templates-cli-create-from-job"></a>

O AWS CLI comando a seguir cria um modelo de trabalho especificando o Amazon Resource Name (ARN) de um trabalho existente. O novo modelo de trabalho usa todas as configurações especificadas no trabalho. Opcionalmente, você pode alterar qualquer configuração no trabalho existente usando qualquer um dos parâmetros opcionais.

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

## Obtenha detalhes sobre um modelo de trabalho
<a name="job-templates-cli-describe"></a>

O AWS CLI comando a seguir obtém detalhes sobre um modelo de trabalho especificado.

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

O comando exibe a seguinte saída.

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

## Liste modelos de trabalho
<a name="job-templates-cli-list"></a>

O AWS CLI comando a seguir lista todos os modelos de trabalho em seu Conta da AWS.

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

O comando exibe a seguinte saída.

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

Para recuperar páginas adicionais de resultados, use o valor do campo `nextToken`.

## Exclua um modelo de trabalho
<a name="job-templates-cli-delete"></a>

O AWS CLI comando a seguir exclui um modelo de trabalho especificado.

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

O comando não exibe nenhuma saída.

## Crie um trabalho com base em um modelo de trabalho personalizado
<a name="job-templates-cli-create-job"></a>

O AWS CLI comando a seguir cria um trabalho a partir de um modelo de trabalho personalizado. Ele tem como destino um dispositivo chamado `thingOne` e especifica o nome do recurso da Amazon (ARN) do modelo de trabalho a ser usado como base para o trabalho. Você pode substituir configurações avançadas, como configurações de tempo limite e cancelamento, passando os parâmetros associados do comando `create-job`.

**Atenção**  
O objeto `document-parameters` deve ser usado com o comando `create-job` somente ao criar trabalhos a partir de modelos gerenciados da AWS . Este objeto não deve ser usado com modelos de trabalho personalizados. Para obter um exemplo que mostra como criar trabalhos usando esse parâmetro, consulte [Crie um trabalho usando modelos gerenciados](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
```