¿Cómo podemos eliminar todos los usuarios de un grupo de usuarios específico en AWS Cognito usando AWS CLI?
prueba con lo siguiente:
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; doneAquí hay una versión de bash basada en el script por lotes de @ajilpm:
# 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 Debe tener jq instalado y recordar hacer que el script sea ejecutable: chmod +x deleteAllUsers.sh .
La identificación del grupo de usuarios se puede proporcionar como un argumento de línea de comando: ./deleteAllUsers.sh COGNITO_USER_POOL_ID .
Creé un script para hacerlo desde Windows CMD si tiene AWS Cli instalado y configurado, que eliminará todos los usuarios página por página, por lo que debe ejecutarlo hasta que se eliminen todos los usuarios.
Debe tener JQ descargado y su ruta agregada a la ruta del entorno del sistema para que funcione lo siguiente.
---eliminar.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)---eliminar.bat---