2016-07-01 2 views
1

Я не могу найти действительно хороший способ инициировать несколько сеансов с помощью boto3. Если у меня есть 10 учетных записей и вы хотите сказать, создайте нового пользователя IAM, я не могу изменить boto3.session.Session с новыми вызовами.Зацикливание нескольких профилей aws с помощью boto3

Так пример кода:

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 

Однако это только создаст сеанс для сеанса по умолчанию и не изменит его. Кажется, я не могу найти способ закрыть сессию.

Любая помощь была бы принята с благодарностью.

ответ

4

Вы не используете сеанс, который возвращает 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) 
+0

Doh! Спасибо. –