我似乎无法找到一个非常好的方法来启动与boto3的多个会话.如果我有10个帐户并想让我们说,创建一个新的IAM用户,我似乎无法用新的调用更改boto3.session.Session.
示例代码:
for user in usernames:
for acct in accounts:
boto3.session.Session(profile_name=acct)
print 'trying account: %s' % acct
try:
uname = IAM.create_user(UserName=user)
uname
print uname
print row_template % header
print row_template % tuple(['-' * len(h) for h in header])
print row_template % (user, acct)
except botocore.exceptions.ClientError as e:
print e
但是,它只会为默认会话创建一个会话,并且不会更改它.我似乎无法找到一种方法来关闭会话.
任何帮助将不胜感激.
解决方法:
您没有使用boto3.session()返回的会话.而是使用相同的默认会话.您可以从以下代码段开发:
for acct in accounts:
session = boto3.Session(profile_name=acct)
iam = session.client('iam')
for user in usernames:
iam.create_user(UserName=user)