AWS客户端Cognito的list_users()函数可以使用分页方法来获取用户列表。下面是一个替代分页方法的示例代码:
import boto3
def list_all_users(user_pool_id):
client = boto3.client('cognito-idp')
response = client.list_users(UserPoolId=user_pool_id)
users = response['Users']
while 'PaginationToken' in response:
response = client.list_users(UserPoolId=user_pool_id, PaginationToken=response['PaginationToken'])
users += response['Users']
return users
# 使用示例
user_pool_id = 'your-user-pool-id'
all_users = list_all_users(user_pool_id)
for user in all_users:
print(user['Username'])
这个示例中,我们首先调用list_users()函数获取第一页的用户列表。然后,我们在while循环中检查response中是否有PaginationToken,如果有,就继续调用list_users()函数传入PaginationToken来获取下一页的用户列表。循环直到response中没有PaginationToken为止,表示所有用户已经获取完毕。
注意:在使用这个替代分页方法时,要确保具有足够的权限来访问Cognito用户池。