

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Senden Sie einen Serviceauftrag in AWS Batch
<a name="service-job-submit"></a>

Um Servicejobs an zu senden AWS Batch, verwenden Sie die [ SubmitServiceJob ](https://docs.aws.amazon.com/batch/latest/APIReference/API_SubmitServiceJob.html) API. Sie können Jobs mit dem AWS CLI oder SDK einreichen.

Wenn Sie noch keine Ausführungsrolle haben, müssen Sie eine erstellen, bevor Sie Ihren Servicejob einreichen können. Informationen zum Erstellen der SageMaker AI-Ausführungsrolle finden Sie unter [ So verwenden Sie SageMaker AI-Ausführungsrollen ](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-roles.html) im * [ SageMaker AI-Entwicklerhandbuch ](https://docs.aws.amazon.com/sagemaker/latest/dg/whatis.html)*.

## Arbeitsablauf für die Einreichung von Serviceaufträgen
<a name="service-job-submit-workflow"></a>

Wenn Sie einen Serviceauftrag einreichen, AWS Batch folgen Sie diesem Workflow:

1. AWS Batch empfängt Ihre `[SubmitServiceJob](https://docs.aws.amazon.com/batch/latest/APIReference/API_SubmitServiceJob.html)` Anfrage und validiert die AWS Batch-spezifischen Parameter. Der `serviceRequestPayload` wird ohne Validierung weitergegeben.

1. Der Job wechselt in den `SUBMITTED` Status und wird in die angegebene Auftragswarteschlange gestellt

1. AWS Batch prüft, ob in der Serviceumgebung Kapazität für `RUNNABLE` Jobs an der Spitze der Warteschlange verfügbar ist

1. Wenn Kapazität verfügbar ist, wird der Job zu AI verschoben `SCHEDULED` und der Job wurde an KI übergeben SageMaker 

1. Wenn die Kapazität erworben wurde und die SageMaker KI die Service-Job-Daten heruntergeladen hat, beginnt die Initialisierung des Service-Jobs und der Job wird zu`STARTING`. 

1. Wenn die SageMaker KI mit der Ausführung des Jobs beginnt, wird sein Status in `RUNNING` geändert.

1. Während die SageMaker KI den Job ausführt, AWS Batch überwacht sie dessen Fortschritt und ordnet den Dienststatus den AWS Batch Jobstatus zu. Einzelheiten dazu, wie Service-Job-Status zugeordnet werden, finden Sie unter [Mapping (Zuordnung) AWS Batch Vom Status des Serviceauftrags auf den SageMaker AI-Status umstellen](service-job-status.md)

1. Wenn der Servicejob abgeschlossen ist, wechselt er zu `SUCCEEDED` und alle Ausgaben können heruntergeladen werden.

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

Bevor Sie einen Serviceauftrag einreichen, stellen Sie sicher, dass Sie über Folgendes verfügen:
+ **Serviceumgebung ** — Eine Serviceumgebung, die Kapazitätsgrenzen definiert. Weitere Informationen finden Sie unter [Erstellen Sie eine Serviceumgebung in AWS Batch](create-service-environments.md).
+ **SageMaker Auftragswarteschlange ** — Eine SageMaker Auftragswarteschlange zur Auftragsplanung. Weitere Informationen finden Sie unter [Erstellen Sie eine Warteschlange für SageMaker Schulungsjobs in AWS Batch](create-sagemaker-job-queue.md).
+ **IAM-Berechtigungen ** — Berechtigungen zum Erstellen und Verwalten von AWS Batch Auftragswarteschlangen und Serviceumgebungen. Weitere Informationen finden Sie unter [AWS Batch IAM-Richtlinien, -Rollen und -Berechtigungen](IAM_policies.md).

## Reichen Sie einen Servicejob ein
<a name="service-job-submit-example"></a>

Die folgende Tabelle zeigt, wie Sie einen Servicejob entweder mit dem SageMaker Python-SDK oder der AWS CLI einreichen:

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

Das [ SageMaker Python-SDK ](https://sagemaker.readthedocs.io/en/stable/v3-examples/training-examples/aws_batch/sm-training-queues_getting_started_with_model_trainer.html) verfügt über eine integrierte Unterstützung für das Senden von Aufträgen an AWS Batch. Die folgenden Beispiele zeigen, wie Sie einen Modelltrainer erstellen, eine Trainingswarteschlange erstellen und einen Job einreichen. Ein vollständiges Beispiel finden Sie im [ vollständigen Beispielnotizbuch ](https://github.com/aws/sagemaker-python-sdk/blob/master/v3-examples/training-examples/aws_batch/sm-training-queues_getting_started_with_model_trainer.ipynb) unter GitHub.

Erstellen Sie eine`ModelTrainer`, die die Konfiguration des Trainingsauftrags definiert.

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

Erstellen Sie ein `TrainingQueue` Objekt, das anhand des Namens auf Ihre Job-Warteschlange verweist.

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

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

Reichen Sie einen Job ein, indem Sie anrufen`queue.submit`.

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

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

Im Folgenden wird gezeigt, wie Sie einen Servicejob mithilfe der AWS CLI einreichen:

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

Weitere Hinweise zu den `serviceRequestPayload` Parametern finden Sie unter[Nutzlasten für Wartungsaufträge in AWS Batch](service-job-payload.md).

------