Эй, я написал некоторый код для загрузки всех пользователей в моем пуле пользователей Cognito, однако, похоже, он продолжается вечно.Я совершенно уверен, что правильно использую токен пагинации.По оценкам пользовательского интерфейса Cognito, у меня ~ 10000 пользователей, однако я поместил минуты цикла останова в свой цикл, а у моего List
более 50 000, что не имеет смысла.
Помощь очень ценится!
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;
}