我们如何使用AWS CLI从AWS Cognito的特定用户池中删除所有用户?
答案 0 :(得分:4)
尝试以下内容:
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
答案 1 :(得分:1)
如果您已经安装并配置了AWS Cli,我创建了一个脚本来从Windows CMD执行此操作,它将逐页删除所有用户,因此您需要运行它直到删除所有用户。
您需要下载JQ并将其路径添加到系统环境路径中,才能进行以下操作。
-delete.bat ---
@回显setlocal
用于/ f“ delims =” %% I in('aws cognito-idp list-users --user-pool-id $ COGNITO_USER_POOL_ID ^ | jq -r“ .Users |。[] | .Username”')做(aws cognito-idp admin-delete-user --user-pool-id $ COGNITO_USER_POOL_ID --username %% I echo %% I Deleted)
-delete.bat ---
答案 2 :(得分:0)
抱歉,无法添加评论。我对ajilpm提到的命令有相同的要求,并稍作修改,在Windows 10中为我工作。您需要下载jq.exe并保持命令行中的路径
---Start.bat---
@echo off setlocal
for /f "delims=" %%I in ('aws cognito-idp list-users --user-pool-id us-west-2_O7rRBQ5rr --profile dev-hb ^| jq -r ".Users | .[] | .Username"') do ( aws cognito-idp admin-delete-user --user-pool-id us-west-2_O7rRBQ5rr --username %%I --profile dev-hb)
---delete.bat---
答案 3 :(得分:0)
使用 Python 和 boto3: 我使用电子邮件作为用户名
import boto3 as aws
import pandas as pd
client_cognito = aws.client('cognito-idp')
getProperties = pd.read_csv('CognitoUsers.csv',header=0)
usernames = getProperties['email']
for username in usernames:
response = client_cognito.admin_delete_user(
UserPoolId="us-east-1_xxxxxxxxx",
Username = username,
)
您需要使用您的 AWS 访问密钥 ID 和 AWS 秘密访问密钥登录 aws-cli