Boto3 AWS创建用户Try-catch不允许for循环继续



我有这个python脚本,它将遍历我的所有帐户,并在每个帐户中创建一个用户,但当用户已经存在"botocore.errorfactory.EntityAlreadyExistsException:"时,我会得到一个错误,或者它只会在帐户中创建用户,直到它命中并出错。for循环结束,并且永远不会在数组中的现有帐户中创建该用户。我尝试过botocore异常,并将异常传递到代码中的其他行,当我这样做时,我没有得到任何输出。这还会创建第二组关键点。我是Python的新手。。。

import boto3
import pprint
import sys
from botocore.exceptions import ClientError, ParamValidationError
pp = pprint.PrettyPrinter(indent=4)
username='musicman'
Password = 'Welcome'
accounts = ["account1", "account2", "account3", "account4", "account5", "account6"]
try:
for account in accounts:
boto3.setup_default_session(profile_name=account)
#brooksprod = boto3.session.Session(profile_name='account1')
iam = boto3.client('iam')
# create a user
iam.create_user( UserName=username)
except Exception:
pass
response = iam.add_user_to_group(
GroupName='Admin',
UserName=username
)
response = iam.create_login_profile(
UserName= username,
Password= Password,
PasswordResetRequired=True
)    
#pp.pprint(response)
response = iam.get_user(UserName = username)
pp.pprint(response)
response = iam.create_access_key(
UserName=username
)
#print(response.get('AccessKey','SecretAccessKey'))
pp.pprint(response)

在for循环中执行try/except

for account in accounts:
try:
boto3.setup_default_session(profile_name=account)
#brooksprod = boto3.session.Session(profile_name='account1')
iam = boto3.client('iam')
# create a user
iam.create_user( UserName=username)
except Exception:
pass

最新更新