使用boto3循环遍历多个aws配置文件

时间:2016-07-01 23:44:34

标签: python amazon-web-services boto amazon-iam boto3

我似乎无法找到一个非常好的方法来启动与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

但是,它只会为默认会话创建一个会话,而不会更改它。我似乎无法找到关闭会话的方法。

非常感谢任何帮助。

1 个答案:

答案 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)