

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.

# Erstellen Sie eine OpenQASM 3.0-Beispiel-Quantenaufgabe und reichen Sie sie ein
<a name="braket-openqasm-create-submit-task"></a>

Sie können das Amazon Braket Python SDK, Boto3 oder das verwenden, um OpenQASM 3.0-Quantenaufgaben AWS CLI an ein Amazon Braket-Gerät zu senden.

**Topics**
+ [Ein Beispiel für ein OpenQASM 3.0-Programm](#braket-openqasm-example-program)
+ [Verwenden Sie das Python-SDK, um OpenQASM 3.0-Quantenaufgaben zu erstellen](#braket-openqasm-create-tasks-with-python-sdk)
+ [Verwenden Sie Boto3, um OpenQASM 3.0-Quantenaufgaben zu erstellen](#braket-openqasm-create-tasks-with-boto3)
+ [Verwenden Sie den, um OpenQASM 3.0-Aufgaben zu erstellen AWS CLI](#braket-openqasm-create-tasks-with-aws-cli)

## Ein Beispiel für ein OpenQASM 3.0-Programm
<a name="braket-openqasm-example-program"></a>

[Um eine OpenQASM 3.0-Aufgabe zu erstellen, können Sie mit einem OpenQASM 3.0-Grundprogramm (ghz.qasm) beginnen, das einen GHZ-Status vorbereitet, wie im folgenden Beispiel gezeigt.](https://en.wikipedia.org/wiki/Greenberger%E2%80%93Horne%E2%80%93Zeilinger_state)

```
// ghz.qasm
// Prepare a GHZ state
OPENQASM 3;

qubit[3] q;
bit[3] c;

h q[0];
cnot q[0], q[1];
cnot q[1], q[2];

c = measure q;
```

## Verwenden Sie das Python-SDK, um OpenQASM 3.0-Quantenaufgaben zu erstellen
<a name="braket-openqasm-create-tasks-with-python-sdk"></a>

Sie können das [Amazon Braket Python SDK](https://github.com/aws/amazon-braket-sdk-python) verwenden, um dieses Programm mit dem folgenden Code an ein Amazon Braket-Gerät zu senden. Achten Sie darauf, den Amazon S3 S3-Bucket-Beispielstandort „amzn-s3-demo-bucket“ durch Ihren eigenen Amazon S3 S3-Bucket-Namen zu ersetzen.

```
with open("ghz.qasm", "r") as ghz:
    ghz_qasm_string = ghz.read()

# Import the device module
from braket.aws import AwsDevice
# Choose the Rigetti device
device = AwsDevice("arn:aws:braket:us-west-1::device/qpu/rigetti/Ankaa-3")
from braket.ir.openqasm import Program

program = Program(source=ghz_qasm_string)
my_task = device.run(program)

# Specify an optional s3 bucket location and number of shots
s3_location = ("amzn-s3-demo-bucket", "openqasm-tasks")
my_task = device.run(
    program,
    s3_location,
    shots=100,
)
```

## Verwenden Sie Boto3, um OpenQASM 3.0-Quantenaufgaben zu erstellen
<a name="braket-openqasm-create-tasks-with-boto3"></a>

Sie können auch [das AWS Python SDK for Braket (Boto3)](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/braket.html) verwenden, um die Quantenaufgaben mithilfe von OpenQASM 3.0-Strings zu erstellen, wie im folgenden Beispiel gezeigt. [Der folgende Codeausschnitt verweist auf ghz.qasm, das einen GHZ-Status wie oben gezeigt vorbereitet.](https://en.wikipedia.org/wiki/Greenberger%E2%80%93Horne%E2%80%93Zeilinger_state)

```
import boto3
import json

my_bucket = "amzn-s3-demo-bucket"
s3_prefix = "openqasm-tasks"

with open("ghz.qasm") as f:
    source = f.read()

action = {
    "braketSchemaHeader": {
        "name": "braket.ir.openqasm.program",
        "version": "1"
    },
    "source": source
}
device_parameters = {}
device_arn = "arn:aws:braket:us-west-1::device/qpu/rigetti/Ankaa-3"
shots = 100

braket_client = boto3.client('braket', region_name='us-west-1')
rsp = braket_client.create_quantum_task(
    action=json.dumps(
        action
    ),
    deviceParameters=json.dumps(
        device_parameters
    ),
    deviceArn=device_arn,
    shots=shots,
    outputS3Bucket=my_bucket,
    outputS3KeyPrefix=s3_prefix,
)
```

## Verwenden Sie den, um OpenQASM 3.0-Aufgaben zu erstellen AWS CLI
<a name="braket-openqasm-create-tasks-with-aws-cli"></a>

Die [AWS Command Line Interface (CLI)](https://aws.amazon.com/cli/) kann auch verwendet werden, um OpenQASM 3.0-Programme einzureichen, wie im folgenden Beispiel gezeigt.

```
aws braket create-quantum-task \
    --region "us-west-1" \
    --device-arn "arn:aws:braket:us-west-1::device/qpu/rigetti/Ankaa-3" \
    --shots 100 \
    --output-s3-bucket "amzn-s3-demo-bucket" \
    --output-s3-key-prefix "openqasm-tasks" \
    --action '{
        "braketSchemaHeader": {
            "name": "braket.ir.openqasm.program",
            "version": "1"
        },
        "source": $(cat ghz.qasm)
    }'
```