

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 definições de trabalho usando EcsProperties
<a name="multi-container-jobs"></a>

Com o uso das definições de AWS Batch tarefas [https://docs.aws.amazon.com/batch/latest/APIReference/API_EcsProperties.html](https://docs.aws.amazon.com/batch/latest/APIReference/API_EcsProperties.html), você pode modelar hardware, sensores, ambientes 3D e outras simulações em contêineres separados. É possível usar esse atributo para organizar logicamente componentes de workload e separá-los da aplicação principal. Esse recurso pode ser usado AWS Batch no Amazon Elastic Container Service (Amazon ECS), no Amazon Elastic Kubernetes Service (Amazon EKS) e. AWS Fargate

## Definições de trabalho `ContainerProperties` versus `EcsProperties`
<a name="containerpropertions-vs-ecsproperties"></a>

Você pode optar por usar [https://docs.aws.amazon.com/batch/latest/APIReference/API_ContainerProperties.html](https://docs.aws.amazon.com/batch/latest/APIReference/API_ContainerProperties.html) ou definições de trabalho [https://docs.aws.amazon.com/batch/latest/APIReference/API_EcsProperties.html](https://docs.aws.amazon.com/batch/latest/APIReference/API_EcsProperties.html) de acordo com seu caso de uso. Em um alto nível, executar AWS Batch trabalhos com `EcsProperties` é semelhante à execução de trabalhos com um`ContainerProperties`.

A estrutura antiga de definição de tarefas, usando `ContainerProperties`, permanece compatível. Se você já tem fluxos de trabalho usando essa estrutura, pode continuar a executá-los.

A principal diferença é que há um novo objeto adicionado à definição do trabalho para acomodar as definições com base em `EcsProperties`.

Por exemplo, uma definição de trabalho que usa o `ContainerProperties` no Amazon ECS e no Fargate tem esta estrutura:

```
{
   "containerProperties": {
     ...
     "image": "my_ecr_image1",
     ...
  },
...
}
```

Uma definição de trabalho que usa o `EcsProperties` no Amazon ECS e no Fargate tem esta estrutura:

```
{
  "ecsProperties": {
    "taskProperties": [{
      "containers": [
        { 
          ...
          "image": "my_ecr_image1",
          ...
        },
        { 
          ...
          "image": "my_ecr_image2",
          ...
        },
```

## Mudanças gerais no AWS Batch APIs
<a name="multi-container-general"></a>

Descrevemos algumas das principais diferenças ao usar `ContainerProperties` e os tipos de dados da API `EcsProperties`:
+ Muitos dos parâmetros usados em `ContainerProperties` aparecem em `TaskContainerProperties`. Alguns exemplos incluem `command`, `image`, `privileged`, `secrets` e `users`. Todos eles podem ser encontrados dentro [TaskContainerProperties](https://docs.aws.amazon.com/batch/latest/APIReference/API_TaskContainerProperties.html).
+ Alguns dos parâmetros `TaskContainerProperties` não têm equivalentes funcionais na estrutura legada. Alguns exemplos incluem `dependsOn`, `essential`, `name`, `ipcMode` e `pidMode`. Para obter mais informações, consulte [EcsTaskDetails](https://docs.aws.amazon.com/batch/latest/APIReference/API_EcsTaskDetails.html) e [TaskContainerProperties](https://docs.aws.amazon.com/batch/latest/APIReference/API_TaskContainerProperties.html).

  Além disso, alguns parâmetros `ContainerProperties` não têm equivalentes ou aplicação na estrutura `EcsProperties`. Em [https://docs.aws.amazon.com/batch/latest/APIReference/API_EcsProperties.html#Batch-Type-EcsProperties-taskProperties](https://docs.aws.amazon.com/batch/latest/APIReference/API_EcsProperties.html#Batch-Type-EcsProperties-taskProperties), `container` foi substituído por `containers`, para que o novo objeto possa aceitar até dez elementos. [https://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html#Batch-RegisterJobDefinition-request-containerProperties](https://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html#Batch-RegisterJobDefinition-request-containerProperties)
+ `taskRoleArn` é funcionalmente equivalente a `jobRoleArn`. Para obter mais informações, consulte [EcsTaskProperties: taskRoleArn](https://docs.aws.amazon.com/batch/latest/APIReference/API_EcsTaskProperties.html) e [ContainerProperties: jobRoleArn](https://docs.aws.amazon.com/batch/latest/APIReference/API_ContainerProperties.html).
+ Você pode incluir de um (1) a dez (10) contêineres na estrutura `EcsProperties`. [Para obter mais informações, consulte:containersEcsTaskProperties.](https://docs.aws.amazon.com/batch/latest/APIReference/API_EcsTaskProperties.html)
+ Os objetos `taskProperties` e instanceTypes são matrizes, mas aceitam apenas um elemento. [https://docs.aws.amazon.com/batch/latest/APIReference/API_EcsProperties.html](https://docs.aws.amazon.com/batch/latest/APIReference/API_EcsProperties.html)

## Definições de trabalho de vários contêineres para o Amazon ECS
<a name="multi-container-ecs-updates"></a>

Para acomodar a estrutura de vários contêineres do Amazon ECS, alguns dos tipos de dados da API são diferentes. Por exemplo,
+ [https://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html#Batch-RegisterJobDefinition-request-ecsProperties](https://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html#Batch-RegisterJobDefinition-request-ecsProperties) é o mesmo nível de `containerProperties` na definição de contêiner único. Para obter mais informações, consulte [EcsProperties](https://docs.aws.amazon.com/batch/latest/APIReference/API_EcsProperties.html) no *AWS Batch API Reference Guide (Guia de referência da API do &CDSlong;)*.
+ [https://docs.aws.amazon.com/batch/latest/APIReference/API_EcsProperties.html#Batch-Type-EcsProperties-taskProperties](https://docs.aws.amazon.com/batch/latest/APIReference/API_EcsProperties.html#Batch-Type-EcsProperties-taskProperties) contém as propriedades definidas para a tarefa do Amazon ECS. Para obter mais informações, consulte [EcsProperties](https://docs.aws.amazon.com/batch/latest/APIReference/API_EcsProperties.html) no *AWS Batch API Reference Guide (Guia de referência da API do &CDSlong;)*.
+ [https://docs.aws.amazon.com/batch/latest/APIReference/API_EcsTaskProperties.html#Batch-Type-EcsTaskProperties-containers](https://docs.aws.amazon.com/batch/latest/APIReference/API_EcsTaskProperties.html#Batch-Type-EcsTaskProperties-containers) inclui informações semelhantes a `containerProperties` na definição de contêiner único. A principal diferença é que `containers` permite definir até dez contêineres. *Para obter mais informações, consulte [ECSTaskproperties:Containers](https://docs.aws.amazon.com/batch/latest/APIReference/API_EcsTaskProperties.html) no Guia de referência da AWS Batch API.*
+ O parâmetro [https://docs.aws.amazon.com/batch/latest/APIReference/API_TaskContainerProperties.html#Batch-Type-TaskContainerProperties-essential](https://docs.aws.amazon.com/batch/latest/APIReference/API_TaskContainerProperties.html#Batch-Type-TaskContainerProperties-essential) indica como o contêiner afeta o trabalho. Todos os contêineres essenciais devem ser concluídos com sucesso (encerrar como 0) para que o trabalho possa progredir. Se um contêiner marcado como essencial falhar (encerrar como diferente de 0), o trabalho falhará.

  O valor padrão é `true`, e pelo menos um contêiner deve ser marcado como `essential`. Para obter mais informações, consulte [https://docs.aws.amazon.com/batch/latest/APIReference/API_TaskContainerProperties.html#Batch-Type-TaskContainerProperties-essential](https://docs.aws.amazon.com/batch/latest/APIReference/API_TaskContainerProperties.html#Batch-Type-TaskContainerProperties-essential) no *AWS Batch API Reference Guide (Guia de referência da API do &CDSlong;)*.
+ Com o parâmetro [https://docs.aws.amazon.com/batch/latest/APIReference/API_TaskContainerProperties.html#Batch-Type-TaskContainerProperties-dependsOn](https://docs.aws.amazon.com/batch/latest/APIReference/API_TaskContainerProperties.html#Batch-Type-TaskContainerProperties-dependsOn), você pode definir uma lista de dependências de contêineres. Para obter mais informações, consulte [https://docs.aws.amazon.com/batch/latest/APIReference/API_TaskContainerProperties.html#Batch-Type-TaskContainerProperties-dependsOn](https://docs.aws.amazon.com/batch/latest/APIReference/API_TaskContainerProperties.html#Batch-Type-TaskContainerProperties-dependsOn) no *AWS Batch API Reference Guide (Guia de referência da API do &CDSlong;)*.
**nota**  
A complexidade da lista `dependsOn` e do runtime do contêiner associado podem afetar o horário de início do seu trabalho. Se dependências demorarem muito para serem executadas, o trabalho permanecerá em estado `STARTING` até que seja concluído.

Para obter mais informações sobre a estrutura `ecsProperties` e, consulte a sintaxe de [RegisterJobDefinition](https://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html#API_RegisterJobDefinition_RequestBody)solicitação para [ECSProperties](https://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html#Batch-RegisterJobDefinition-request-ecsProperties).

## Definições de trabalho de vários contêineres para o Amazon EKS
<a name="multi-container-eks-updates"></a>

Para acomodar a estrutura de vários contêineres do Amazon EKS, alguns dos tipos de dados da API são diferentes. Por exemplo,
+ [https://docs.aws.amazon.com/batch/latest/APIReference/API_EksContainer.html#Batch-Type-EksContainer-name](https://docs.aws.amazon.com/batch/latest/APIReference/API_EksContainer.html#Batch-Type-EksContainer-name) é um identificador exclusivo para o contêiner. Esse objeto não é necessário para um único contêiner, mas é necessário ao definir vários contêineres em um pod. Quando `name` não está definido para contêineres únicos, o nome padrão, `default`, é aplicado.
+ [https://docs.aws.amazon.com/batch/latest/APIReference/API_EksPodProperties.html#Batch-Type-EksPodProperties-initContainers](https://docs.aws.amazon.com/batch/latest/APIReference/API_EksPodProperties.html#Batch-Type-EksPodProperties-initContainers)são definidos dentro do tipo de [eksPodProperties](https://docs.aws.amazon.com/batch/latest/APIReference/API_EksPodProperties.html)dados. Eles são executados antes dos contêineres da aplicação, sempre são executados até a conclusão e devem ser concluídos com êxito antes do início do próximo contêiner.

  Esses contêineres são registrados no atendente Amazon EKS Connector e mantêm as informações de registro no armazenamento de dados de backend do Amazon Elastic Kubernetes Service. O objeto `initContainers` pode aceitar até dez (10) elementos. Para obter mais informações, consulte [Contêineres de inicialização](https://kubernetes.io/docs/concepts/workloads/pods/init-containers/), na *documentação do Kubernetes*.
**nota**  
O objeto `initContainers` pode afetar a hora de início do seu trabalho. Se `initContainers` demorarem muito para serem executados, o trabalho permanecerá em estado `STARTING` até a conclusão.
+ [https://docs.aws.amazon.com/batch/latest/APIReference/API_EksPodProperties.html#Batch-Type-EksPodProperties-shareProcessNamespace](https://docs.aws.amazon.com/batch/latest/APIReference/API_EksPodProperties.html#Batch-Type-EksPodProperties-shareProcessNamespace) indica se os contêineres no pod podem compartilhar o mesmo namespace de processo. O valor padrão é `false`. Defina isso como `true` para permitir que os contêineres vejam e sinalizem processos em outros contêineres localizados no mesmo pod.
+ Cada contêiner tem importância. Todos os contêineres devem ser concluídos com êxito (sair como 0) para que o trabalho seja bem-sucedido. Se um contêiner falhar (sair como diferente de 0), o trabalho falhará.

Para obter mais informações sobre a estrutura `eksProperties` e, consulte a sintaxe de [RegisterJobDefinition](https://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html#API_RegisterJobDefinition_RequestBody)solicitação para [EksProperties](https://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html#Batch-RegisterJobDefinition-request-eksProperties).