aji*_*lpm 3 amazon-web-services amazon-cognito
我们如何使用 AWS CLI 从 AWS Cognito 中的特定用户池中删除所有用户?
Ric*_*ber 25
为了加快删除速度,我修改了 @GRVPrasad 的答案以使用xargs -P,它将删除操作分配给多个进程。
aws cognito-idp list-users --user-pool-id $COGNITO_USER_POOL_ID | jq -r '.Users | .[] | .Username' | xargs -n 1 -P 5 -I % bash -c "echo Deleting %; aws cognito-idp admin-delete-user --user-pool-id $COGNITO_USER_POOL_ID --username %"
Run Code Online (Sandbox Code Playgroud)
GRV*_*sad 12
尝试以下:
aws cognito-idp list-users --user-pool-id $COGNITO_USER_POOL_ID |
jq -r '.Users | .[] | .Username' |
while read uname1; do
echo "Deleting $uname1";
aws cognito-idp admin-delete-user --user-pool-id $COGNITO_USER_POOL_ID --username $uname1;
done
Run Code Online (Sandbox Code Playgroud)
这是基于 @ajilpm 批处理脚本的 bash 版本:
# deleteAllUsers.sh
COGNITO_USER_POOL_ID=$1
aws cognito-idp list-users --user-pool-id $COGNITO_USER_POOL_ID |
jq -r '.Users | .[] | .Username' |
while read user; do
aws cognito-idp admin-delete-user --user-pool-id $COGNITO_USER_POOL_ID --username $user
echo "$user deleted"
done
Run Code Online (Sandbox Code Playgroud)
您必须安装jq并记住使脚本可执行:chmod +x deleteAllUsers.sh。
用户池 ID 可以作为命令行参数提供:./deleteAllUsers.sh COGNITO_USER_POOL_ID。
如果您安装并配置了 AWS Cli,我创建了一个脚本来从 Windows CMD 执行此操作,这将逐页删除所有用户,因此您需要运行它直到删除所有用户。
您需要下载JQ并将其路径添加到系统环境路径中才能进行以下操作。
---删除.bat---
@echo off setlocal
for /f "delims=" %%I in
('aws cognito-idp list-users --user-pool-id $COGNITO_USER_POOL_ID ^|
jq -r ".Users | .[] | .Username"')
do
(aws cognito-idp admin-delete-user --user-pool-id $COGNITO_USER_POOL_ID --username %%I
echo %%I deleted)
Run Code Online (Sandbox Code Playgroud)
---删除.bat---
| 归档时间: |
|
| 查看次数: |
3952 次 |
| 最近记录: |