1. ホーム
  2. python

[解決済み】boto3でCloudFrontに接続する際のAWSプロファイルの選択方法

2022-04-14 21:43:01

質問

Boto 3 python libraryを使用しており、AWS CloudFrontに接続したいです。 正しいAWS Profile (AWS Credentials)を指定する必要がありますが、公式ドキュメントを見ても指定する方法がありません。

私は、次のコードを使ってクライアントを初期化しています。 client = boto3.client('cloudfront')

しかし、この場合、デフォルトのプロファイルを使用して接続することになります。 使用するプロファイルを指定する方法は見つかりませんでした。

解決方法を教えてください。

この方法は、ドキュメントではあまり紹介されていないように思います。しかし、これは以前からサポートされている機能であり、このドキュメントにいくつかの詳細が記載されています。 プルリクエスト .

というわけで、3種類の方法があります。

オプションA) プロファイルで新しいセッションを作成する

    dev = boto3.session.Session(profile_name='dev')

オプションB) デフォルトセッションのプロファイルをコードで変更する

    boto3.setup_default_session(profile_name='dev')

オプションC) 環境変数でデフォルトセッションのプロファイルを変更する

    $ AWS_PROFILE=dev ipython
    >>> import boto3
    >>> s3dev = boto3.resource('s3')