是否有一种方法可以在多种情况下从列表用户api过滤结果。我想从列表中获取具有用户名的所有用户的列表
import boto3
client = boto3.client('cognito-idp')
client.list_users(UserPoolId='us-east-1_123456789', AttributesToGet=['email'], Filter="username =\"user_name_1\"")
上面的代码只给我返回一个用户名。现在,如果我想获得多个用户名的相同信息,我似乎找不到解决方法。
例如:
import boto3
usernames=['user_id1','user_id2']
client = boto3.client('cognito-idp')
client.list_users(UserPoolId='us-east-1_123456789', AttributesToGet=['email'], Filter="username =usernames")
答案 0 :(得分:1)
您只能按严格相等或开头过滤;没有通配符或数组。
也就是说,ListUsers
似乎没有特定的api调用限制,因此您可以连续快速多次调用它,直到处理完所有用户名为止。
答案 1 :(得分:0)
client.list_users()确实有60个用户的限制,并且该函数不可分页。
我遇到了类似的问题,并创建了包含列表元素i的过滤器值,并在实际函数之前包含了整个过滤器表达式,因此我能够在函数内调用该过滤器值。
最后,我遍历了采用list元素i的新值的过滤器值。