

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# Amazon Braket 故障排除
<a name="braket-troubleshooting"></a>

使用本节中的故障排除信息和解决方案来帮助解决 Amazon Braket 的问题。

**Topics**
+ [AccessDeniedException](#braket-troubleshooting-access-denied)
+ [调用 CreateQuantumTask 操作时出错 (ValidationException)](#braket-troubleshooting-create-fail)
+ [某个 SDK 功能无法使用](#braket-troubleshooting-sdk)
+ [由于以下原因，混合作业失败 ServiceQuotaExceededException](#braket-jobs-quota-troubleshoot)
+ [组件在 Notebook 实例中停止工作](#braket-troubleshooting-notebook-issue)
+ [Python 3.12 升级疑难解答](braket-troubleshooting-python312.md)
+ [OpenQASM 故障排除](braket-troubleshooting-openqasm.md)

## AccessDeniedException
<a name="braket-troubleshooting-access-denied"></a>

如果您**AccessDeniedException**在启用或使用 Braket 时收到 Braket，则您可能正在尝试在您的受限角色无权访问的区域启用或使用 Braket。

在这种情况下，请联系您的内部 AWS 管理员，了解以下哪些条件适用：
+ 是否存在角色限制，导致无法访问某个区域。
+ 是否允许您尝试使用的角色使用 Braket。

如果您的角色在使用 Braket 时无法访问给定区域，则您将无法使用该特定区域的设备。

## 调用 CreateQuantumTask 操作时出错 (ValidationException)
<a name="braket-troubleshooting-create-fail"></a>

如果您收到类似于 `An error occurred (ValidationException) when calling the CreateQuantumTask operation: Caller doesn't have access to amazon-braket-…​` 的错误，请检查您是否引用了现有的 s3\$1folder。Braket 不会自动为您创建新的 Amazon S3 存储桶和前缀。

如果您直接访问 API 并收到类似于 `Failed to create quantum task: Caller doesn't have access to s3://MY_BUCKET` 的错误，请检查您是否未将 `s3://` 包含在 Amazon S3 存储桶路径中。

## 某个 SDK 功能无法使用
<a name="braket-troubleshooting-sdk"></a>

你的 Python 版本必须是 3.10 或更高版本。对于 Amazon Braket 混合任务，我们推荐 Python 3.12。

验证您的 SDK 和架构是否正确。 up-to-date要从 Notebook 或 Python 编辑器更新 SDK，请运行以下命令：

```
pip install amazon-braket-sdk --upgrade --upgrade-strategy eager
```

要更新架构，请运行以下命令。

```
pip install amazon-braket-schemas --upgrade
```

如果您通过自己的客户访问 Amazon Braket，请确认您的[AWS 区域](https://docs.aws.amazon.com/braket/latest/developerguide/braket-devices.html#braket-regions)是否已设置为 Amazon Braket 支持的区域。

## 由于以下原因，混合作业失败 ServiceQuotaExceededException
<a name="braket-jobs-quota-troubleshoot"></a>

如果您超出目标模拟器设备的并发量子任务限制，则可能无法创建针对 Amazon Braket 模拟器运行量子任务的混合作业。有关服务限制的更多信息，请参阅[配额](braket-quotas.md)主题。

 如果您在账户中的多个混合作业中对模拟器设备运行并发任务，则可能会遇到此错误。

要查看针对特定模拟器设备的并发量子任务数，请使用 `search-quantum-tasks` API，如以下代码示例所示。

```
DEVICE_ARN=arn:aws:braket:::device/quantum-simulator/amazon/sv1
task_list=""
for status_value in "CREATED" "QUEUED" "RUNNING" "CANCELLING"; do
    tasks=$(aws braket search-quantum-tasks --filters name=status,operator=EQUAL,values=${status_value} name=deviceArn,operator=EQUAL,values=$DEVICE_ARN --max-results 100 --query 'quantumTasks[*].quantumTaskArn' --output text)
    task_list="$task_list $tasks"
done;
echo "$task_list" | tr -s ' \t' '[\n*]' | sort | uniq
```

您还可以使用亚马逊 CloudWatch 指标查看针对设备创建的量子任务：**Braket** > B **y** Device。

**为避免遇到这些错误，请执行以下操作：**

1. 请求增加模拟器设备并发量子任务数量的服务限额。这仅适用于 SV1 设备。

1. 处理代码中的 `ServiceQuotaExceeded` 异常并重试。

## 组件在 Notebook 实例中停止工作
<a name="braket-troubleshooting-notebook-issue"></a>

如果 Notebook 的某些组件停止工作，请尝试以下操作。

1. 将您创建或修改的所有 Notebook 下载到本地驱动器。

1. 停用您的 Notebook 实例。

1. 删除您的 Notebook 实例。

1. 使用其他名称创建新的 Notebook 实例。

1. 将 Notebook 上传到新实例。