

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.

# Envíe un trabajo de servicio en AWS Batch
<a name="service-job-submit"></a>

Para enviar trabajos de servicio a AWS Batch, usa la [SubmitServiceJob](https://docs.aws.amazon.com/batch/latest/APIReference/API_SubmitServiceJob.html)API. Puede enviar trabajos mediante el SDK AWS CLI o el SDK.

Si aún no tiene un rol de ejecución, debe crear uno antes de enviar el trabajo de servicio. Para crear la función de ejecución de SageMaker IA, consulte [Cómo utilizar las funciones de ejecución de SageMaker IA](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-roles.html) en la *[guía para desarrolladores de SageMaker IA](https://docs.aws.amazon.com/sagemaker/latest/dg/whatis.html)*.

## Flujo de trabajo para el envío del trabajo de servicio
<a name="service-job-submit-workflow"></a>

Cuando envíes un trabajo de servicio, AWS Batch sigue este flujo de trabajo:

1. AWS Batch recibe su `[SubmitServiceJob](https://docs.aws.amazon.com/batch/latest/APIReference/API_SubmitServiceJob.html)` solicitud y valida los parámetros AWS Batch específicos. `serviceRequestPayload` se pasa sin validación.

1. El trabajo entra en el estado `SUBMITTED` y se coloca en la cola de trabajos especificada

1. AWS Batch evalúa si hay capacidad disponible en el entorno de servicio para los `RUNNABLE` trabajos que se encuentran al principio de la cola

1. Si hay capacidad disponible, el trabajo se traslada a AI `SCHEDULED` y se ha transferido a AI SageMaker 

1. Cuando se haya adquirido capacidad y la SageMaker IA haya descargado los datos del trabajo de servicio, el trabajo de servicio comenzará a inicializarse y el trabajo cambiará a`STARTING`. 

1. Cuando la SageMaker IA comience a ejecutar el trabajo, su estado cambiará a`RUNNING`.

1. Mientras la SageMaker IA ejecuta la tarea, AWS Batch supervisa su progreso y asigna los estados del servicio a los estados de las AWS Batch tareas. Para obtener más información sobre cómo se asignan los estados de las tareas de servicio, consulte [Asignar el estado del trabajo del AWS Batch servicio al estado de la SageMaker IA](service-job-status.md).

1. Cuando se completa el trabajo de servicio, pasa a `SUCCEEDED` y cualquier salida estará lista para descargarse.

## Requisitos previos
<a name="service-job-submit-prerequisites"></a>

Antes de enviar un trabajo de servicio, asegúrese de disponer de lo siguiente:
+ **Entorno de servicio**: entorno de servicio que define los límites de capacidad. Para obtener más información, consulte [Cree un entorno de servicios en AWS Batch](create-service-environments.md).
+ **SageMaker cola de trabajos: cola** de SageMaker trabajos que permite programar los trabajos. Para obtener más información, consulte [Creación de una cola de trabajos de entrenamiento de SageMaker en AWS Batch](create-sagemaker-job-queue.md).
+ **Permisos de IAM**: permisos para crear y administrar colas de trabajos y entornos de servicio de AWS Batch . Para obtener más información, consulte [AWS Batch Políticas, funciones y permisos de IAM](IAM_policies.md).

## Envíe un trabajo de servicio con la AWS CLI
<a name="service-job-submit-example"></a>

A continuación, se muestra cómo enviar un trabajo de servicio mediante la 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 obtener más información acerca de los parámetros `serviceRequestPayload`, consulte [Cargas útiles de trabajos de servicio en AWS Batch](service-job-payload.md).