

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.

# Definieren Sie die Umgebung für Ihr Algorithmus-Skript
<a name="braket-jobs-script-environment"></a>

Amazon Braket unterstützt Umgebungen, die durch Container für Ihr Algorithmus-Skript definiert sind:
+ Ein Basiscontainer (der Standard, wenn keiner angegeben `image_uri` ist)
+ Ein Container mit CUDA-Q
+ Ein Container mit Tensorflow und PennyLane
+ Ein Container mit PyTorch, und PennyLane CUDA-Q

Die folgende Tabelle enthält Einzelheiten zu den Containern und den darin enthaltenen Bibliotheken.


**Amazon Braket-Behälter**  

| Typ | Base | CUDA-Q | TensorFlow | PyTorch | 
| --- | --- | --- | --- | --- | 
|   **Bild-URI**   |  292282985366.dkr. ecr.us-west-2.amazonaws.com /:latest amazon-braket-base-jobs  |  292282985366.dkr. ecr.us-west-2.amazonaws.com /:aktuell amazon-braket-cudaq-jobs  |  292282985366.dkr. ecr.us-east-1.amazonaws.com /:aktuell amazon-braket-tensorflow-jobs  |  292282985366.dkr. ecr.us-west-2.amazonaws.com /:aktuell amazon-braket-pytorch-jobs  | 
|   **Geerbte Bibliotheken**   |  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/braket/latest/developerguide/braket-jobs-script-environment.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/braket/latest/developerguide/braket-jobs-script-environment.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/braket/latest/developerguide/braket-jobs-script-environment.html)  | 
|   **Zusätzliche Bibliotheken**   |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/braket/latest/developerguide/braket-jobs-script-environment.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/braket/latest/developerguide/braket-jobs-script-environment.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/braket/latest/developerguide/braket-jobs-script-environment.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/braket/latest/developerguide/braket-jobs-script-environment.html)  | 

[Sie können die Open-Source-Container-Definitionen unter aws/ einsehen und darauf zugreifen. amazon-braket-containers](https://github.com/aws/amazon-braket-containers) Wählen Sie den Container, der am besten zu Ihrem Anwendungsfall passt. Sie können jede der verfügbaren AWS Regionen in Braket verwenden (us-east-1, us-west-1, us-west-2, eu-north-1, eu-west-2), aber die Container-Region muss mit der Region für Ihren Hybrid-Job übereinstimmen. Geben Sie das Container-Image an, wenn Sie einen Hybrid-Job erstellen, indem Sie Ihrem Aufruf im Hybrid-Job-Skript eines der folgenden drei Argumente hinzufügen. `create(…​)` Sie können zur Laufzeit zusätzliche Abhängigkeiten in dem Container Ihrer Wahl installieren (auf Kosten des Starts oder der Laufzeit), da die Amazon Braket-Container über eine Internetverbindung verfügen. Das folgende Beispiel bezieht sich auf die Region us-west-2.
+  **Basisbild:** image\$1uri="292282985366.dkr. ecr.us-west-2.amazonaws.com /:latest“ amazon-braket-base-jobs
+  **CUDA-Q-Bild:** image\$1uri="292282985366.dkr. ecr.us-west-2.amazonaws.com /:latest“ amazon-braket-cudaq-jobs
+  **Tensorflow-Bild:** image\$1uri="292282985366.dkr. ecr.us-west-2.amazonaws.com /:latest“ amazon-braket-tensorflow-jobs
+  **PyTorch bild**: image\$1uri="292282985366.dkr. ecr.us-west-2.amazonaws.com /:latest“ amazon-braket-pytorch-jobs

Sie können auch mit der Funktion im Braket-SDK abgerufen werden. `image-uris` `retrieve_image()` Amazon Das folgende Beispiel zeigt, wie sie aus dem AWS-Region US-West-2 abgerufen werden können.

```
from braket.jobs.image_uris import retrieve_image, Framework

image_uri_base = retrieve_image(Framework.BASE, "us-west-2")
image_uri_cudaq = retrieve_image(Framework.CUDAQ, "us-west-2")
image_uri_tf = retrieve_image(Framework.PL_TENSORFLOW, "us-west-2")
image_uri_pytorch = retrieve_image(Framework.PL_PYTORCH, "us-west-2")
```

# Verwendung Ihres eigenen Containers (BYOC)
<a name="braket-jobs-byoc"></a>

Amazon Braket Hybrid Jobs bietet drei vorgefertigte Container für die Ausführung von Code in verschiedenen Umgebungen. Wenn einer dieser Container Ihren Anwendungsfall unterstützt, müssen Sie nur Ihr Algorithmus-Skript angeben, wenn Sie einen Hybrid-Job erstellen. Geringfügige fehlende Abhängigkeiten können mithilfe von Ihrem Algorithmus-Skript oder aus einer `requirements.txt` Datei hinzugefügt `pip` werden.

Falls keiner dieser Container Ihren Anwendungsfall unterstützt oder Sie diese erweitern möchten, unterstützt Braket Hybrid Jobs die Ausführung von Hybrid-Jobs mit Ihrem eigenen benutzerdefinierten Docker Container-Image oder Bring Your Own Container (BYOC). Stellen Sie sicher, dass es sich um die richtige Funktion für Ihren Anwendungsfall handelt. 

**Topics**
+ [

## Wann ist es die richtige Entscheidung, meinen eigenen Container mitzubringen?
](#bring-own-container-decision)
+ [

# Rezept für das Mitbringen eines eigenen Containers
](bring-own-container-recipe.md)
+ [

# Braket-Hybrid-Jobs in Ihrem eigenen Container ausführen
](running-hybrid-jobs-in-own-container.md)

## Wann ist es die richtige Entscheidung, meinen eigenen Container mitzubringen?
<a name="bring-own-container-decision"></a>

Bring Your Own Container (BYOC) zu Braket Hybrid Jobs bietet die Flexibilität, Ihre eigene Software zu verwenden, indem Sie sie in einer Paketumgebung installieren. Abhängig von Ihren spezifischen Anforderungen gibt es möglicherweise Möglichkeiten, dieselbe Flexibilität zu erreichen, ohne den gesamten URI-Zyklus BYOC Docker Build — Amazon ECR-Upload — benutzerdefiniertes Image durchlaufen zu müssen.

**Anmerkung**  
BYOC ist möglicherweise nicht die richtige Wahl, wenn Sie eine kleine Anzahl zusätzlicher Python-Pakete (in der Regel weniger als 10) hinzufügen möchten, die öffentlich verfügbar sind. Zum Beispiel, wenn Sie verwenden. PyPi

In diesem Fall können Sie eines der vorgefertigten Braket-Images verwenden und dann bei der Einreichung des Jobs eine `requirements.txt` Datei in Ihr Quellverzeichnis aufnehmen. Die Datei wird automatisch gelesen und `pip` installiert die Pakete mit den angegebenen Versionen wie gewohnt. Wenn Sie eine große Anzahl von Paketen installieren, kann sich die Laufzeit Ihrer Jobs erheblich verlängern. Überprüfen Sie die Python- und gegebenenfalls die CUDA-Version des vorgefertigten Containers, den Sie verwenden möchten, um zu testen, ob Ihre Software funktioniert.

BYOC ist erforderlich, wenn Sie eine Nicht-Python-Sprache (wie C\$1\$1 oder Rust) für Ihr Job-Skript verwenden möchten oder wenn Sie eine Python-Version verwenden möchten, die nicht über die vorgefertigten Braket-Container verfügbar ist. Es ist auch eine gute Wahl, wenn:
+ Sie verwenden Software mit einem Lizenzschlüssel, und Sie müssen diesen Schlüssel auf einem Lizenzserver authentifizieren, um die Software ausführen zu können. Mit BYOC können Sie den Lizenzschlüssel in Ihr Docker Image einbetten und Code zur Authentifizierung hinzufügen.
+ Sie verwenden Software, die nicht öffentlich verfügbar ist. Die Software wird beispielsweise in einem privaten GitHub Repository GitLab oder in einem Repository gehostet, für dessen Zugriff Sie einen bestimmten SSH-Schlüssel benötigen.
+ Sie müssen eine große Softwaresuite installieren, die nicht in den von Braket bereitgestellten Containern verpackt ist. BYOC ermöglicht es Ihnen, lange Startzeiten für Ihre Hybrid-Job-Container aufgrund der Softwareinstallation zu vermeiden.

BYOC ermöglicht es Ihnen auch, Ihr benutzerdefiniertes SDK oder Ihren Algorithmus für Kunden verfügbar zu machen, indem Sie einen Docker Container mit Ihrer Software erstellen und diesen Ihren Benutzern zur Verfügung stellen. Sie können dies tun, indem Sie die entsprechenden Berechtigungen in Amazon ECR festlegen.

**Anmerkung**  
Sie müssen alle geltenden Softwarelizenzen einhalten.

# Rezept für das Mitbringen eines eigenen Containers
<a name="bring-own-container-recipe"></a>

In diesem Abschnitt finden Sie eine step-by-step Anleitung dazubring your own container (BYOC), was Sie für Braket Hybrid Jobs benötigen — die Skripts, Dateien und Schritte, um sie zu kombinieren, damit Sie mit Ihren benutzerdefinierten Docker Images loslegen können. Die Rezepte für zwei häufige Fälle:

1. Installieren Sie zusätzliche Software in einem Docker Image und verwenden Sie in Ihren Jobs nur Python-Algorithmus-Skripte.

1. Verwenden Sie Algorithmusskripte, die in einer anderen Sprache als Python geschrieben wurden, mit Hybrid Jobs oder einer anderen CPU-Architektur als x86.

Die Definition des *Container-Eintragsskripts* ist für Fall 2 komplexer.

Wenn Braket Ihren Hybrid-Job ausführt, startet es die angeforderte Anzahl und Art von Amazon EC2 EC2-Instances und führt dann das Docker Image aus, das durch die Image-URI angegeben wurde, die zur Auftragserstellung eingegeben wurde. Wenn Sie die BYOC-Funktion verwenden, geben Sie eine Bild-URI an, die in einem [privaten Amazon ECR-Repository](https://docs.aws.amazon.com/AmazonECR/latest/userguide/Repositories.html) gehostet wird, auf das Sie Lesezugriff haben. Braket Hybrid Jobs verwendet dieses benutzerdefinierte Image, um den Job auszuführen.

Die spezifischen Komponenten, die Sie benötigen, um ein Docker Image zu erstellen, das mit Hybrid-Jobs verwendet werden kann. [Wenn Sie mit dem Schreiben und Erstellen nicht vertraut sind`Dockerfiles`, lesen Sie in der [Dockerfile-Dokumentation und in der Dokumentation](https://docs.docker.com/reference/dockerfile/) nach. Amazon ECR CLI](https://docs.aws.amazon.com/AmazonECR/latest/userguide/getting-started-cli.html)

**Topics**
+ [

## Ein Basis-Image für Ihr Dockerfile
](#base-image-dockerfile)
+ [

## (Optional) Ein modifiziertes Container-Einstiegspunktskript
](#modified-container-entry-point)
+ [

## Installieren Sie die benötigte Software und das Container-Skript mit `Dockerfile`
](#install-docketfile)

## Ein Basis-Image für Ihr Dockerfile
<a name="base-image-dockerfile"></a>

Wenn Sie Python verwenden und Software zusätzlich zu dem installieren möchten, was in den von Braket bereitgestellten Containern bereitgestellt wird, ist eine Option für ein Basis-Image eines der Braket-Container-Images, die in unserem [GitHub Repo](https://github.com/amazon-braket/amazon-braket-containers) und auf Amazon ECR gehostet werden. Sie müssen sich [bei Amazon ECR authentifizieren](https://docs.aws.amazon.com/AmazonECR/latest/userguide/getting-started-cli.html#cli-authenticate-registry), um das Image abzurufen und darauf aufzubauen. Die erste Zeile Ihrer BYOC-Datei Docker könnte beispielsweise wie folgt lauten: `FROM [IMAGE_URI_HERE]`

Füllen Sie als Nächstes den Rest aus, Dockerfile um die Software zu installieren und einzurichten, die Sie dem Container hinzufügen möchten. Die vorgefertigten Braket-Images enthalten bereits das entsprechende Container-Einstiegspunkt-Skript, sodass Sie sich keine Gedanken darüber machen müssen, dieses einzubeziehen.

Wenn Sie eine Nicht-Python-Sprache wie C\$1\$1, Rust oder Julia verwenden möchten, oder wenn Sie ein Image für eine Nicht-x86-CPU-Architektur wie ARM erstellen möchten, müssen Sie möglicherweise auf einem öffentlichen Barebone-Image aufbauen. Viele solcher Bilder finden Sie in der [Amazon Elastic Container Registry Public Gallery](https://gallery.ecr.aws/). Stellen Sie sicher, dass Sie eine auswählen, die für die CPU-Architektur und gegebenenfalls für die GPU, die Sie verwenden möchten, geeignet ist.

## (Optional) Ein modifiziertes Container-Einstiegspunktskript
<a name="modified-container-entry-point"></a>

**Anmerkung**  
Wenn Sie einem vorgefertigten Braket-Image nur zusätzliche Software hinzufügen, können Sie diesen Abschnitt überspringen.

Um Nicht-Python-Code als Teil Ihres Hybrid-Jobs auszuführen, ändern Sie das Python-Skript, das den Container-Einstiegspunkt definiert. Zum Beispiel das [`braket_container.py`Python-Skript auf dem Amazon Braket Github](https://github.com/amazon-braket/amazon-braket-containers/blob/main/src/braket_container.py). Dies ist das Skript, das die von Braket vorgefertigten Images verwenden, um Ihr Algorithmus-Skript zu starten und die entsprechenden Umgebungsvariablen festzulegen. Das Container-Einstiegspunktskript selbst **muss** in Python sein, kann aber Nicht-Python-Skripte starten. In dem vorgefertigten Beispiel können Sie sehen, dass Python-Algorithmus-Skripts entweder als [Python-Unterprozess](https://github.com/amazon-braket/amazon-braket-containers/blob/main/src/braket_container.py#L274) oder als [vollständig neuer](https://github.com/amazon-braket/amazon-braket-containers/blob/main/src/braket_container.py#L257) Prozess gestartet werden. Indem Sie diese Logik ändern, können Sie das Einstiegspunktskript aktivieren, um Skripten zu starten, die keine Python-Algorithmen sind. Sie könnten beispielsweise die [https://github.com/amazon-braket/amazon-braket-containers/blob/main/src/braket_container.py#L139](https://github.com/amazon-braket/amazon-braket-containers/blob/main/src/braket_container.py#L139)Funktion so ändern, dass sie Rust-Prozesse in Abhängigkeit von der Dateinamenerweiterung startet.

Sie können sich auch dafür entscheiden, eine komplett neue zu schreiben`braket_container.py`. Es sollte Eingabedaten, Quellarchive und andere notwendige Dateien aus Amazon S3 in den Container kopieren und die entsprechenden Umgebungsvariablen definieren.

## Installieren Sie die benötigte Software und das Container-Skript mit `Dockerfile`
<a name="install-docketfile"></a>

**Anmerkung**  
Wenn Sie ein vorgefertigtes Braket-Image als Docker Basis-Image verwenden, ist das Container-Skript bereits vorhanden.

Wenn Sie im vorherigen Schritt ein modifiziertes Container-Skript erstellt haben, müssen Sie es in den Container kopieren **und** die Umgebungsvariable `SAGEMAKER_PROGRAM` oder den Namen Ihres neuen Container-Einstiegspunktskripts definieren. `braket_container.py`

Im Folgenden finden Sie ein Beispiel für eine`Dockerfile`, mit der Sie Julia auf GPU-beschleunigten Jobs-Instanzen verwenden können:

```
FROM nvidia/cuda:12.2.0-devel-ubuntu22.04

    
 ARG DEBIAN_FRONTEND=noninteractive
 ARG JULIA_RELEASE=1.8
 ARG JULIA_VERSION=1.8.3


 ARG PYTHON=python3.11 
 ARG PYTHON_PIP=python3-pip
 ARG PIP=pip


 ARG JULIA_URL = https://julialang-s3.julialang.org/bin/linux/x64/${JULIA_RELEASE}/
 ARG TAR_NAME = julia-${JULIA_VERSION}-linux-x86_64.tar.gz


 ARG PYTHON_PKGS = # list your Python packages and versions here


 RUN curl -s -L ${JULIA_URL}/${TAR_NAME} | tar -C /usr/local -x -z --strip-components=1 -f -


 RUN apt-get update \

    && apt-get install -y --no-install-recommends \

    build-essential \

    tzdata \

    openssh-client \

    openssh-server \

    ca-certificates \

    curl \

    git \

    libtemplate-perl \

    libssl1.1 \

    openssl \

    unzip \ 

    wget \

    zlib1g-dev \

    ${PYTHON_PIP} \

    ${PYTHON}-dev \




 RUN ${PIP} install --no-cache --upgrade ${PYTHON_PKGS}


 RUN ${PIP} install --no-cache --upgrade sagemaker-training==4.1.3


 # Add EFA and SMDDP to LD library path
 ENV LD_LIBRARY_PATH="/opt/conda/lib/python${PYTHON_SHORT_VERSION}/site-packages/smdistributed/dataparallel/lib:$LD_LIBRARY_PATH"
 ENV LD_LIBRARY_PATH=/opt/amazon/efa/lib/:$LD_LIBRARY_PATH


 # Julia specific installation instructions
 COPY Project.toml /usr/local/share/julia/environments/v${JULIA_RELEASE}/
 RUN JULIA_DEPOT_PATH=/usr/local/share/julia \

    julia -e 'using Pkg; Pkg.instantiate(); Pkg.API.precompile()'
 # generate the device runtime library for all known and supported devices
 RUN JULIA_DEPOT_PATH=/usr/local/share/julia \

    julia -e 'using CUDA; CUDA.precompile_runtime()'


 # Open source compliance scripts
 RUN HOME_DIR=/root \

 && curl -o ${HOME_DIR}/oss_compliance.zip https://aws-dlinfra-utilities.s3.amazonaws.com/oss_compliance.zip \

 && unzip ${HOME_DIR}/oss_compliance.zip -d ${HOME_DIR}/ \

 && cp ${HOME_DIR}/oss_compliance/test/testOSSCompliance /usr/local/bin/testOSSCompliance \

 && chmod +x /usr/local/bin/testOSSCompliance \

 && chmod +x ${HOME_DIR}/oss_compliance/generate_oss_compliance.sh \

 && ${HOME_DIR}/oss_compliance/generate_oss_compliance.sh ${HOME_DIR} ${PYTHON} \

 && rm -rf ${HOME_DIR}/oss_compliance*


 # Copying the container entry point script
 COPY braket_container.py /opt/ml/code/braket_container.py
 ENV SAGEMAKER_PROGRAM braket_container.py
```

In diesem Beispiel werden Skripte heruntergeladen und ausgeführt, die von bereitgestellt werden AWS , um die Einhaltung aller relevanten Open-Source-Lizenzen sicherzustellen. Zum Beispiel, indem jeder installierte Code, der von einem gesteuert wird, ordnungsgemäß zugewiesen wird. MIT license

Wenn Sie nicht-öffentlichen Code einbinden müssen, z. B. Code, der in einem privaten GitLab Speicher GitHub oder einem Repository gehostet wird, betten **Sie keine** SSH-Schlüssel in das Docker Image ein, um darauf zuzugreifen. Verwenden Sie stattdessen Docker Compose when you build, um den Zugriff auf SSH auf dem Host-Computer Docker zu ermöglichen, auf dem es basiert. Weitere Informationen finden Sie im Leitfaden [Sichere Verwendung von SSH-Schlüsseln in Docker für den Zugriff auf private Github-Repositorys](https://www.fastruby.io/blog/docker/docker-ssh-keys.html).

**Ihr Image erstellen und hochladen Docker**

Mit einem richtig definierten sind Sie nun bereit`Dockerfile`, die Schritte zum [Erstellen eines privaten Amazon ECR-Repositorys](https://docs.aws.amazon.com/AmazonECR/latest/userguide/repository-create.html) zu befolgen, falls noch keines vorhanden ist. Sie können Ihr Container-Image auch erstellen, taggen und in das Repository hochladen.

Sie sind bereit, das Image zu erstellen, zu taggen und zu pushen. Eine vollständige Erläuterung der Optionen `docker build` und einige Beispiele finden Sie in der [Docker-Build-Dokumentation](https://docs.docker.com/reference/cli/docker/buildx/build/).

Für die oben definierte Beispieldatei könnten Sie Folgendes ausführen:

```
aws ecr get-login-password --region ${your_region} | docker login --username AWS --password-stdin ${aws_account_id}.dkr.ecr.${your_region}.amazonaws.com
 docker build -t braket-julia .
 docker tag braket-julia:latest ${aws_account_id}.dkr.ecr.${your_region}.amazonaws.com/braket-julia:latest
 docker push ${aws_account_id}.dkr.ecr.${your_region}.amazonaws.com/braket-julia:latest
```

**Zuweisen geeigneter Amazon ECR-Berechtigungen**

Braket Hybrid Jobs DockerBilder müssen in privaten Amazon ECR-Repositorys gehostet werden. Standardmäßig gewährt ein privates Amazon ECR-Repo **keinen** Lesezugriff für die Braket Hybrid Jobs IAM role oder andere Benutzer, die Ihr Bild verwenden möchten, wie z. B. Mitarbeiter oder Schüler. Sie müssen [eine Repository-Richtlinie festlegen, um die](https://docs.aws.amazon.com/AmazonECR/latest/userguide/set-repository-policy.html) entsprechenden Berechtigungen zu gewähren. Im Allgemeinen sollten Sie nur den spezifischen Benutzern und IAM Rollen, die Sie für den Zugriff auf Ihre Bilder benötigen, die Erlaubnis erteilen, anstatt jedem, der über die Rechte verfügt, image URI zu erlauben, sie abzurufen.

# Braket-Hybrid-Jobs in Ihrem eigenen Container ausführen
<a name="running-hybrid-jobs-in-own-container"></a>

Um einen Hybrid-Job mit Ihrem eigenen Container zu erstellen, rufen Sie `AwsQuantumJob.create()` mit dem `image_uri` angegebenen Argument auf. Sie können eine QPU, einen On-Demand-Simulator, verwenden oder Ihren Code lokal auf dem klassischen Prozessor ausführen, der mit Braket Hybrid Jobs verfügbar ist. Wir empfehlen, Ihren Code auf einem Simulator wie SV1, oder TN1 bevor Sie ihn auf einer echten QPU ausführen DM1, zu testen.

Um Ihren Code auf dem klassischen Prozessor auszuführen, spezifizieren Sie den `instanceType` und den, den `instanceCount` Sie verwenden, indem Sie den `InstanceConfig` aktualisieren. Beachten Sie, dass Sie bei Angabe von `instance_count` > 1 sicherstellen müssen, dass Ihr Code auf mehreren Hosts ausgeführt werden kann. Die Obergrenze für die Anzahl der Instanzen, die Sie wählen können, ist 5. Beispiel:

```
job = AwsQuantumJob.create(
    source_module="source_dir",
    entry_point="source_dir.algorithm_script:start_here",
    image_uri="111122223333.dkr.ecr.us-west-2.amazonaws.com/my-byoc-container:latest",
    instance_config=InstanceConfig(instanceType="ml.g4dn.xlarge", instanceCount=3),
    device="local:braket/braket.local.qubit",
    # ...)
```

**Anmerkung**  
Verwenden Sie den Geräte-ARN, um den Simulator zu verfolgen, den Sie als Metadaten für Hybrid-Jobs verwendet haben. Zulässige Werte müssen dem Format entsprechen`device = "local:<provider>/<simulator_name>"`. Denken Sie daran `<provider>` und `<simulator_name>` dürfen nur aus Buchstaben, Zahlen, `_``-`, und bestehen`.`. Die Zeichenfolge ist auf 256 Zeichen begrenzt.  
Wenn Sie planen, BYOC zu verwenden, aber das Braket-SDK nicht zum Erstellen von Quantenaufgaben verwenden, sollten Sie den Wert der Umgebungsvariablen `AMZN_BRAKET_JOB_TOKEN` an den `jobToken` Parameter in der Anfrage übergeben. `CreateQuantumTask` Wenn Sie dies nicht tun, erhalten die Quantenaufgaben keine Priorität und werden als reguläre eigenständige Quantenaufgaben abgerechnet.