

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

# Envie uma vaga de serviço em AWS Batch
<a name="service-job-submit"></a>

Para enviar trabalhos de serviço para AWS Batch, você usa a [ SubmitServiceJob ](https://docs.aws.amazon.com/batch/latest/APIReference/API_SubmitServiceJob.html) API. Você pode enviar trabalhos usando o SDK AWS CLI ou.

Se ainda não tiver um perfil de execução, você deverá criar um antes de enviar seu trabalho de serviço. Para criar a função de execução de SageMaker IA, consulte [ Como usar as funções de execução de SageMaker IA ](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-roles.html) no guia do desenvolvedor de * [ SageMaker IA ](https://docs.aws.amazon.com/sagemaker/latest/dg/whatis.html)*.

## Fluxo de trabalho de envio de trabalhos de serviço
<a name="service-job-submit-workflow"></a>

Quando você envia um trabalho de serviço, AWS Batch segue este fluxo de trabalho:

1. AWS Batch recebe sua `[SubmitServiceJob](https://docs.aws.amazon.com/batch/latest/APIReference/API_SubmitServiceJob.html)` solicitação e valida os parâmetros AWS Batch específicos. O `serviceRequestPayload` passa sem validação.

1. O trabalho entra no estado `SUBMITTED` e é colocado na fila de trabalhos especificada

1. AWS Batch avalia se há capacidade disponível no ambiente de serviço para `RUNNABLE` trabalhos na frente da fila

1. Se a capacidade estiver disponível, a tarefa será transferida `SCHEDULED` e passada para a SageMaker IA

1. Quando a capacidade for adquirida e a SageMaker IA fizer o download dos dados da tarefa de serviço, a tarefa de serviço iniciará a inicialização e a tarefa será alterada para`STARTING`. 

1. Quando a SageMaker IA começa a executar o trabalho, seu status é alterado para`RUNNING`.

1. Enquanto a SageMaker IA executa o trabalho, AWS Batch monitora seu progresso e mapeia os estados do serviço para os estados do AWS Batch trabalho. Para detalhes sobre como os estados dos trabalhos de serviço são mapeados, consulte [Mapeamento AWS Batch status do trabalho de serviço para status de SageMaker IA](service-job-status.md)

1. Quando o trabalho de serviço é concluído, ele passa para `SUCCEEDED` e qualquer saída está pronta para o download.

## Pré-requisitos
<a name="service-job-submit-prerequisites"></a>

Antes de enviar um trabalho de serviço, verifique se você tem:
+ **Ambiente de serviço**: um ambiente de serviço que define limites de capacidade. Para obter mais informações, consulte [Crie um ambiente de serviço no AWS Batch](create-service-environments.md).
+ **SageMaker fila de trabalhos ** — Uma fila de SageMaker trabalhos para fornecer agendamento de trabalhos. Para obter mais informações, consulte [Criar uma fila de trabalhos do SageMaker Training no AWS Batch](create-sagemaker-job-queue.md).
+ **Permissões do IAM**: permissões para criar e gerenciar filas de trabalhos AWS Batch e ambientes de serviço. Para obter mais informações, consulte [AWS Batch Políticas do IAM, perfis e permissões](IAM_policies.md).

## Enviar um trabalho de serviço
<a name="service-job-submit-example"></a>

A tabela abaixo mostra como enviar um trabalho de serviço usando o SDK do SageMaker Python ou a AWS CLI:

------
#### [ Submit using the SageMaker Python SDK ]

O SDK do [ SageMaker Python ](https://sagemaker.readthedocs.io/en/stable/v3-examples/training-examples/aws_batch/sm-training-queues_getting_started_with_model_trainer.html) tem suporte integrado para o envio de trabalhos para o. AWS Batch Os exemplos a seguir mostram como criar um treinador modelo, criar uma fila de treinamento e enviar uma vaga. Para ver um exemplo completo, veja a amostra [ completa do ](https://github.com/aws/sagemaker-python-sdk/blob/master/v3-examples/training-examples/aws_batch/sm-training-queues_getting_started_with_model_trainer.ipynb) caderno em GitHub.

Crie um `ModelTrainer` que defina a configuração do trabalho de treinamento.

```
from sagemaker.train.model_trainer import ModelTrainer
from sagemaker.train.configs import SourceCode, Compute, StoppingCondition

source_code = SourceCode(command="echo 'Hello World'")

model_trainer = ModelTrainer(
    training_image={{"123456789012.dkr.ecr.us-east-1.amazonaws.com/pytorch-training:2.5-gpu-py311"}},
    source_code=source_code,
    base_job_name={{"my-training-job"}},
    compute=Compute(instance_type={{"ml.g5.xlarge"}}, instance_count={{1}}),
    stopping_condition=StoppingCondition(max_runtime_in_seconds={{300}}),
)
```

Crie um `TrainingQueue` objeto que faça referência à sua fila de trabalhos pelo nome.

```
from sagemaker.train.aws_batch.training_queue import TrainingQueue

queue = TrainingQueue({{"my-sagemaker-job-queue"}})
```

Envie uma vaga ligando`queue.submit`.

```
job = queue.submit(
    training_job=model_trainer,
    inputs=None,
)
```

------
#### [ Submit using the AWS CLI ]

Veja a seguir como enviar um trabalho de serviço usando a AWS CLI:

```
aws batch submit-service-job \
    --job-name "my-sagemaker-training-job" \
    --job-queue "my-sagemaker-job-queue" \
    --service-job-type "SAGEMAKER_TRAINING" \
    --service-request-payload '{\"TrainingJobName\": \"sagemaker-training-job-example\", \"AlgorithmSpecification\": {\"TrainingImage\": \"123456789012.dkr.ecr.us-east-1.amazonaws.com/pytorch-inference:1.8.0-cpu-py3\", \"TrainingInputMode\": \"File\", \"ContainerEntrypoint\":  [\"sleep\", \"1\"]}, \"RoleArn\":\"arn:aws:iam::123456789012:role/SageMakerExecutionRole\", \"OutputDataConfig\": {\"S3OutputPath\": \"s3://example-bucket/model-output/\"}, \"ResourceConfig\": {\"InstanceType\": \"ml.m5.large\", \"InstanceCount\": 1, \"VolumeSizeInGB\": 1}}'
    --client-token "unique-token-12345"
```

Para obter mais informações sobre o parâmetro `serviceRequestPayload`, consulte [Cargas úteis de trabalho de manutenção em AWS Batch](service-job-payload.md).

------