我似乎无法找到一个非常好的方法来启动与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
但是,它只会为默认会话创建一个会话,而不会更改它。我似乎无法找到关闭会话的方法。
非常感谢任何帮助。
答案 0 :(得分:5)
您没有使用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)