除非我遗漏了某些内容,否则我看不到从 AWS Quicksight 控制台和 AWS Quicksight CLI 中批量删除用户的方法。
我编写了以下 python 脚本,用于将
quicksightuser.json
(AWS CLI list-user
命令的输出)中的用户名解析为用户名列表对象 UserListRay
。然后迭代列表对象并运行 delete-user
AWS CLI 命令。
问题是,在终端中执行
delete-user
AWS CLI 命令时出现 API 响应终端提示(带有状态代码和请求 ID)。这个提示符正在打破循环,只有第一个迭代变量被传递到 CLI 命令中。
有没有办法抑制终端中的API响应提示?或者是否有更简单的方法可以通过控制台批量删除用户或使用 AWS CLI 命令或 shell 脚本?
import os
import json
with open('/Users/QuicksightBulkDeleteUsers/quicksightuser.json') as f:
contents = json.load(f)
UserListRaw = contents.get('UserList', [])
UsersList = []
for a in range(len(UserListRaw)):
UsersList.append(UserListRaw[a]["UserName"])
for username in UsersList:
os.system("aws quicksight delete-user --aws-account-id 444444444444 --namespace default --user-name '{}'".format(username))
我创建了一个脚本来根据配置文件批量注册用户;您可以使用类似的主体来扩展脚本以删除它们 - https://github.com/aws-samples/register-quicksight-users