AWS Cognito从用户池中删除所有用户

时间:2020-03-04 06:42:33

标签: amazon-web-services amazon-cognito

我们如何使用AWS CLI从AWS Cognito的特定用户池中删除所有用户?

4 个答案:

答案 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