我正在嘗試訪問保存在 aws 憑據檔案中的不同組態檔的 S3 存盤桶中的 csv 檔案。如何在 python 中的 AWS SDK 中撰寫腳本以一次訪問不同的組態檔。
像這樣的東西
import boto3
profile1 = boto3.<function>("profile_name1")
profile2 = boto3.<function>("profile_name2")
bucket1 = profile1.resource("S3")
bucket2 = profile2.resource("S3")
uj5u.com熱心網友回復:
您可以通過 3 種方式執行此操作,如下所示 -
方法 1:使用組態檔創建新會話
dev = boto3.session.Session(profile_name='dev')
方法二:在代碼中更改默認會話的組態檔
boto3.setup_default_session(profile_name='dev')
方法 3:使用環境變數更改默認會話的組態檔
$ AWS_PROFILE=dev
>>> import boto3
>>> s3dev = boto3.resource('s3')
uj5u.com熱心網友回復:
您可以通過以下方式為不同的組態檔創建會話,
import boto3
session1 = boto3.Session(profile_name='profile_name1')
profile1_s3_client = session1.client('s3') // use this to access S3 for profile_name1
session2 = boto3.Session(profile_name='profile_name2')
profile2_s3_client = session2.client('s3') // use this to access S3 for profile_name2
uj5u.com熱心網友回復:
您可以使用如下所述的不同組態檔定義會話,其中對于每個組態檔,您將需要 access_key 和 secret_key。在 IAM 用戶編程訪問的情況下不需要 session_token
profile1 = boto3.session.Session(profile_name='dev', aws_access_key_id=access_key, aws_secret_access_key=secret_key, aws_session_token=session_token)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/387616.html
