首页 > 解决方案 > aws cognito list-users 函数仅返回 60 个用户

问题描述

我需要列出 cognito 用户池的所有用户。有没有办法返回用户池的所有用户?

boto3 - client 的 list_users-function 像下面的代码只返回 60 个用户而不是所有用户。

client = boto3.client('cognito-idp',
                         region_name=aws_region,
                         aws_access_key_id=aws_access_key,
                         aws_secret_access_key=aws_secret_key,
                         config=config)

print('Setup client')

response = client.list_users(
UserPoolId=userpool_id,
AttributesToGet=[
    'email','sub'
] 
)

预期结果是包含 cognito 用户组的所有用户的 json 对象列表

标签: pythonamazon-web-servicesboto3amazon-cognito

解决方案


您正在看到预期的结果。您一次可以请求 60 个或更少的用户。您将需要使用分页令牌才能遍历用户池中存在的所有用户。具体参见API 文档LimitPaginationToken参数(强调我的):

限制

要返回的最大用户数。

类型:整数
有效范围:最小值为 0。最大值为 60。
必需:否

分页令牌

从上一次调用此操作返回的标识符,可用于返回列表中的下一组项目。

类型:字符串
长度约束:最小长度为 1。
模式:[\S]+
必需:否


推荐阅读