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 として指定されている引数を、us-east-1 や us-west-1 など Amazon Braket が利用可能な、いずれかの AWS リージョン に対応する値に置き換えます。
ステップ 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 認証情報を活用できます。