92735


aws cognitoに登録されているユーザーの内指定の属性を持つユーザーのみにメールを送る実装を考えています。  
ユーザープールにアクセスして、ユーザー情報を取得することはできましたが、カスタム属性に指定した値を取得することができません。

[code]

    response = client.list_users(
      UserPoolId=USER_POOL_ID,
      AttributesToGet=['email'],
      Limit=LIMIT
    )
    
[/code]

カスタム属性のデータをもとにメール送信有無を決定しようとしていますので要件を満たせなくて困っております。カスタム属性に代わりユーザーグループを使おうかとも思っているのですが同様に取得する方法がわかりません。（Webで調べたのですがリファレンスがあまり出てこず、見つけられませんでした）  
カスタム属性 または ユーザーグループ
をlambda(python)より取得する方法をご存じの方は教えていただきたいです。できないという情報があればそれでもかまいません。  
ご協力お願いいたします。


CC BY-SA 4.0
2022-12-12T05:01:16.410
92717
2022-12-13T03:05:34.573
2022-12-13T03:03:44.103
3060
55923
question
aws lambda
Cognito ユーザープールの情報をlambda(python)で取得するには？


Cognito の API 仕様を確認したい場合は、SDK のドキュメントより、API のドキュメントの方が参考になると思います。

<https://docs.aws.amazon.com/cognito-user-identity-
pools/latest/APIReference/API_ListUsers.html>

質問中の

> カスタム属性に指定した値を取得することができません

については AttributesToGet に該当のカスタム属性も指定するか、AttributesToGet
の指定自体を外してしまえばいいと思います。指定がなければ、全属性が返ってきます。この API
だと前ユーザをリストアップしなければいけないため、ユーザをグループに入れた上で、ListUsersInGroup の API
を入れると効率はいいと思います。


CC BY-SA 4.0
2022-12-13T02:08:57.937
92735
2022-12-13T03:05:34.573
2022-12-13T03:05:34.573
3060
5959
92717
answer