2016-07-01 4 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! 고맙습니다. –