

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.

# Verfolgung von Quantenaufgaben mit dem Amazon Braket SDK
<a name="braket-monitor-tasks-sdk"></a>

Der Befehl `device.run(…​)` definiert eine Quantenaufgabe mit einer eindeutigen Quantenaufgaben-ID. Sie können den Status abfragen und verfolgen, `task.state()` wie im folgenden Beispiel gezeigt.

 **Hinweis**: `task = device.run()` ist eine asynchrone Operation, was bedeutet, dass Sie weiterarbeiten können, während das System Ihre Quantenaufgabe im Hintergrund bearbeitet.

 **Rufen Sie ein Ergebnis ab** 

Wenn Sie anrufen`task.result()`, fragt das SDK Amazon Braket ab, um festzustellen, ob die Quantenaufgabe abgeschlossen ist. Das SDK verwendet die Abfrageparameter, die Sie in definiert haben. `.run()` Nach Abschluss der Quantenaufgabe ruft das SDK das Ergebnis aus dem S3-Bucket ab und gibt es als `QuantumTaskResult` Objekt zurück.

```
# create a circuit, specify the device and run the circuit
circ = Circuit().rx(0, 0.15).ry(1, 0.2).cnot(0,2)
device = AwsDevice("arn:aws:braket:::device/quantum-simulator/amazon/sv1")
task = device.run(circ, s3_location, shots=1000)

# get ID and status of submitted task
task_id = task.id
status = task.state()
print('ID of task:', task_id)
print('Status of task:', status)
# wait for job to complete
while status != 'COMPLETED':
    status = task.state()
    print('Status:', status)
```

```
ID of task:
arn:aws:braket:us-west-2:123412341234:quantum-task/b68ae94b-1547-4d1d-aa92-1500b82c300d
Status of task: QUEUED
Status: QUEUED
Status: QUEUED
Status: QUEUED
Status: QUEUED
Status: QUEUED
Status: QUEUED
Status: QUEUED
Status: RUNNING
Status: RUNNING
Status: COMPLETED
```

 **Brechen Sie eine Quantenaufgabe ab** 

Um eine Quantenaufgabe abzubrechen, rufen Sie die `cancel()` Methode auf, wie im folgenden Beispiel gezeigt.

```
# cancel quantum task
task.cancel()
status = task.state()
print('Status of task:', status)
```

```
Status of task: CANCELLING
```

 **Überprüfen Sie die Metadaten** 

Sie können die Metadaten der fertigen Quantenaufgabe überprüfen, wie im folgenden Beispiel gezeigt.

```
# get the metadata of the quantum task
metadata = task.metadata()
# example of metadata
shots = metadata['shots']
date = metadata['ResponseMetadata']['HTTPHeaders']['date']
# print example metadata
print("{} shots taken on {}.".format(shots, date))

# print name of the s3 bucket where the result is saved
results_bucket = metadata['outputS3Bucket']
print('Bucket where results are stored:', results_bucket)
# print the s3 object key (folder name)
results_object_key = metadata['outputS3Directory']
print('S3 object key:', results_object_key)

# the entire look-up string of the saved result data
look_up = 's3://'+results_bucket+'/'+results_object_key
print('S3 URI:', look_up)
```

```
1000 shots taken on Wed, 05 Aug 2020 14:44:22 GMT.
Bucket where results are stored: amazon-braket-123412341234
S3 object key: simulation-output/b68ae94b-1547-4d1d-aa92-1500b82c300d
S3 URI: s3://amazon-braket-123412341234/simulation-output/b68ae94b-1547-4d1d-aa92-1500b82c300d
```

 **Rufen Sie eine Quantenaufgabe oder ein Ergebnis ab** 

Wenn Ihr Kernel stirbt, nachdem Sie die Quantenaufgabe eingereicht haben oder wenn Sie Ihr Notebook oder Ihren Computer schließen, können Sie das `task` Objekt mit seiner eindeutigen ARN (Quantenaufgaben-ID) rekonstruieren. Anschließend können Sie aufrufen`task.result()`, um das Ergebnis aus dem S3-Bucket abzurufen, in dem es gespeichert ist.

```
from braket.aws import AwsSession, AwsQuantumTask

# restore task with unique arn
task_load = AwsQuantumTask(arn=task_id)
# retrieve the result of the task
result = task_load.result()
```