嘿,我写了一些代码来下载我的Cognito用户池中的所有用户,但它似乎永远在继续。我很确定我使用的分页标记是正确的。Cognito的UI估计我有大约10000个用户,但是我在我的循环和我的
List
已经超过50000了这是不合理的。
非常感谢您的帮助!
using (AmazonCognitoIdentityProviderClient provider = AuthorizedClient())
{
try
{
List<UserType> users = new List<UserType>();
bool continueListing = true;
ListUsersResponse response = provider.ListUsers(
new ListUsersRequest
{
UserPoolId = UserPoolId,
Limit = 60,
AttributesToGet = new List<string>
{
"email"
}
});
users.AddRange(response.Users);
string paginationToken = response.PaginationToken;
while (continueListing)
{
response = provider.ListUsers(
new ListUsersRequest
{
UserPoolId = UserPoolId,
Limit = 60,
PaginationToken = paginationToken,
AttributesToGet = new List<string>
{
"email"
}
});
if (response.Users.Count < 60)
{
continueListing = false;
}
else
{
paginationToken = response.PaginationToken;
users.AddRange(response.Users);
}
}
return users;
}
catch (Exception)
{
//_session.NotifyUser(Notification.GeneralError());
//_logger.LogError(e.Message);
}
return null;
}