私は2つの異なる地域のCNと米国の2つのAWSアカウントを持っています。フォローアップコードのように見える。boto3異なる地域の別のアカウントを接続する方法
Boto2コード:
sqs = boto.sqs.connect_to_region(
region, aws_access_key_id=access_key, aws_secret_access_key=secret_key)
Boto3は次のようにそれを行う方法boto2
私は2つの異なる地域のCNと米国の2つのAWSアカウントを持っています。フォローアップコードのように見える。boto3異なる地域の別のアカウントを接続する方法
Boto2コード:
sqs = boto.sqs.connect_to_region(
region, aws_access_key_id=access_key, aws_secret_access_key=secret_key)
Boto3は次のようにそれを行う方法boto2
一つの可能な方法は、それを行うには多くの方法がありますSession
from boto3 import Session
# Example: connecting to 'us-east-1' region
session = Session(aws_access_key_id=*****,aws_secret_access_key=****,region_name='us-east-1')
sqs_client = session.client('sqs')
sqs_resource = session.resource('sqs')
のboto用いることであろう。開始のためにcredential configuration guideを参照してください。
あなたはすぐに第二の方法は、クライアントの呼び出しで供給ハードコーディングされた資格であるboto3.Sessionから
# use aws credential profile
session = boto3.Session(profile_name='dev')
# Or hardcoded your credentail
session = boto3.Session(
aws_access_key_id="****",
aws_secret_access_key="****",
region_name="us-east-1"
)
から情報を取得することができます。注記:クライアントを使用してprofile_nameを指定することはできません。
client = boto3.client(
's3',
aws_access_key_id="****",
aws_secret_access_key="****",
region_name="us-east-1"
)
注意:STS/temporary security credentialを使用してEC2インスタンスを設定すると、このようなセッショントークンを取得できます。
sts = boto3.client('sts')
my_token = sts.get_session_token())
s3 = boto3.client(
's3',
region_name="us-east-1",
aws_session_token = my_token
)
どうすればaws_session_tokenを取得できますか? – scott
@scott:回答が更新されました。通信サービスをセットアップしない限り、セッショントークンを使用することはできません。 – mootmoot