

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.

# Someter los trabajos a una cuota de cuota
<a name="submit-job-quota-share"></a>

Las colas de trabajos de administración de cuotas requieren que todos los trabajos especifiquen una cuota de cuota al enviar el trabajo. Para enviar los trabajos a una cuota compartida, especifique la entrada`quotaShareName`. [SubmitServiceJob](https://docs.aws.amazon.com/batch/latest/APIReference/API_SubmitServiceJob.html) Opcionalmente, se `preemptionConfiguration` puede proporcionar una para limitar el número de intentos de prioridad antes de que se produzca un intento de trabajo. `FAILED` Para limitar el número de preferencias que puede tener un trabajo, establézcalo en el momento de la presentación `preemptionRetriesBeforeTermination` del [ServiceJobPreemptionConfiguration](https://docs.aws.amazon.com/batch/latest/APIReference/API_ServiceJobPreemptionConfiguration.html)trabajo.

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

Antes de enviar los trabajos a una cuota compartida, asegúrate de tener:
+ **Recursos de administración de cuotas**: una política de programación, un entorno de servicios y una cola de trabajos configurados para la administración de cuotas. Para obtener más información, consulte [Crear recursos de administración de cuotas](create-quota-management-resources.md).
+ **Cuota**: se ha creado al menos una cuota en la cola de trabajos. Para obtener más información, consulte [Creación de cuotas compartidas](create-quota-shares.md).
+ Permisos de **IAM: permisos** para enviar trabajos a. 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 a una cuota compartida
<a name="submit-job-quota-share-example"></a>

La siguiente tabla muestra cómo enviar un trabajo de servicio a una cuota compartida mediante el SDK de SageMaker Python o la AWS CLI: 

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

El [SDK de SageMaker Python](https://sagemaker.readthedocs.io/en/stable/v3-examples/training-examples/aws_batch/sm-training-queues_quota-management.html) tiene soporte integrado para enviar trabajos a una cola de trabajos habilitada para la administración de cuotas. Los siguientes ejemplos muestran cómo crear un formador modelo, crear una cola de formación y enviar los trabajos a una cuota compartida. Para ver un ejemplo completo, consulte el [ejemplo completo del cuaderno](https://github.com/aws/sagemaker-python-sdk/blob/master/v3-examples/training-examples/aws_batch/sm-training-queues_quota-management.ipynb) en GitHub.

Cree una `ModelTrainer` que defina la configuración del trabajo de formación.

```
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}}),
)
```

Cree un `TrainingQueue` objeto que haga referencia a su cola de trabajos habilitada para la gestión de cuotas por su nombre.

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

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

Envíe los trabajos a una cuota compartida llamando `queue.submit` y especificando el`quota_share_name`. Debe establecer una `priority` para influir en la ordenación de los trabajos dentro de la cuota. El mundo real `ModelTrainer` necesitará datos con los `inputs` que entrenarse.

```
job = queue.submit(
    job_name={{"my-training-job"}},
    training_job=model_trainer,
    quota_share_name={{"my_quota_share"}},
    priority={{3}},
    inputs=None,
)
```

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

En el siguiente ejemplo, se utiliza el **submit-service-job** comando para enviar un trabajo a una cuota compartida.

```
aws batch submit-service-job \
    --job-name {{"my-sagemaker-training-job"}} \
    --job-queue {{"my-sagemaker-job-queue"}} \
    --service-job-type "SAGEMAKER_TRAINING" \
    --quota-share-name {{"my_quota_share"}} \
    --timeout-config '{"attemptDurationSeconds":{{3600}}}' \
    --scheduling-priority {{5}} \
    --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}}'}}"
```

------