为 Boto3 和 Braket SDK 配置 AWS CLI 配置文件 - Amazon Braket

为 Boto3 和 Braket SDK 配置 AWS CLI 配置文件

除非另有明确说明,否则 Amazon Braket SDK 依赖于默认 AWS CLI 凭证。我们建议您在托管 Amazon Braket 笔记本上运行时保留默认设置,因为您必须提供有权启动笔记本实例的 IAM 角色。

或者,如果您在本地(例如在 Amazon EC2 实例上)运行代码,则可建立命名的 AWS CLI 配置文件。您可以为每个配置文件指定不同的权限集,而不必定期覆盖默认配置文件。

本节简要说明了如何配置这样的 CLI profile 以及如何将该配置文件合并到 Amazon Braket 中,以便使用该配置文件的权限进行 API 调用。

步骤 1:配置本地 AWS CLI profile

解释如何创建用户以及如何配置非默认配置文件已超出本文档的讨论范围。有关这些主题的更多信息,请参阅:

要使用 Amazon Braket,您必须向该用户以及相关的 CLI profile 提供必要的 Braket 权限。例如,您可以附上 AmazonBraketFullAccess 策略。

步骤 2:建立 Boto3 会话对象

要建立 Boto3 会话对象,请使用以下代码示例。

from boto3 import Session

# Insert CLI profile name here
boto_sess = Session(profile_name=`profile`)
注意

如果预期的 API 调用具有基于区域的限制,而这些限制与您的 profile 默认区域不一致,则可以为 Boto3 会话指定一个区域,如以下示例所示。

# Insert CLI profile name _and_ region boto_sess = Session(profile_name=`profile`, region_name=`region`)

对于指定为 region 的参数,请替换一个与 Amazon Braket 可用的 AWS 区域 中的一个值,如 us-east-1us-west-1 等。

第 3 步:将 Boto3 会话纳入 Braket AwsSession

以下示例说明如何初始化 Boto3 Braket 会话并在该会话中实例化设备。

from braket.aws import AwsSession, AwsDevice # Initialize Braket session with Boto3 Session credentials aws_session = AwsSession(boto_session=boto_sess) # Instantiate any Braket QPU device with the previously initiated AwsSession sim_arn = 'arn:aws:braket:::device/quantum-simulator/amazon/sv1' device = AwsDevice(sim_arn, aws_session=aws_session)

设置完成后,您可以向该实例化的 AwsDevice 对象提交量子任务(例如,通过调用 device.run(…​) 命令)。该设备进行的所有 API 调用都可以使用与您之前指定为 profile 的 CLI 配置文件关联的 IAM 凭证。