Поэтому мне нужно отобразить список пользователей, а также их отдельные группы на настраиваемом экране администратора для клиента. Я возвращаю результаты AWS.CognitoIdentityServiceProvider.listUsers
в функции Lambda, и это список пользователей в порядке, но я не уверен, как лучше всего получить группы для каждого пользователя и добавить их в ответ.
Мне кажется немного удивительным, что они не предоставляют метод listUsers, который лично включает эту информацию, поскольку кажется, что это будет обычным вариантом использования. Кто-нибудь раньше занимался этой проблемой? У меня есть решение, которое работает, но кажется хакерским и, вероятно, не очень производительным, поэтому я ищу что-то более эффективное.
Кажется, мои варианты либо выбирают каждую группу в пуле пользователей и вызывают AWS.CognitoIdentityServiceProvider.listUsersInGroup
для каждой из них, затем перебирают всех пользователей из listUsers
и проверяют, входят ли они в какую-либо из этих групп, либо перебирают каждого пользователя в ответе от listUsers
и вызывая AWS.CognitoIdentityServiceProvider.adminListGroupsForUser
для каждого из них. Это мои единственные варианты? Первый вариант кажется несколько более эффективным, так как групп будет меньше, чем пользователей, поэтому это приведет к меньшему количеству вызовов API, но кажется, что это все еще безумно неэффективно.