【问题标题】:Cognito launch lambda when user added to a user pool当用户添加到用户池时,Cognito 启动 lambda
【发布时间】:2022-01-11 12:41:00
【问题描述】:

是否可以通过 EventBridge 规则将用户添加到用户池(任何一个)中时触发 lambda?

【问题讨论】:

    标签: amazon-web-services aws-lambda amazon-cognito amazon-cloudwatch


    【解决方案1】:

    可以在 CloudTrail 中记录 AWS Cognito,然后使用 EventBridge 根据来自 AWS Cognito 的 AWS CloudTrail API 调用触发 lambda。

    1. Logging Amazon Cognito API calls with AWS CloudTrail 中所述,需要在 AWS CloudTrail 中设置跟踪
    2. 在 EventBridge 中,您可以从服务 AWS Cognito 用户池和 CloudTrail 中选择一个事件模式:

    1. 您可以过滤要从单个操作触发的 lambda,例如 AdminCreateUser

    过滤 lambda 触发器的支持操作列表,supported operations

    您还可以在 AWS Cognito 中将 lambda 设置为触发器,以对每个用户操作进行预注册或预身份验证,而不是使用事件桥。

    如文档Customizing user pool workflows with Lambda triggers中所述:

    您可以创建 AWS Lambda 函数,然后在用户池操作(例如用户注册、确认和登录(身份验证))期间使用 Lambda 触发器触发该函数。您可以添加身份验证质询、迁移用户和自定义验证消息。

    在 AWS Cognito 中将 lambda 链接为触发器:

    1. 如果 lambda 不存在,请创建。
    2. 在 AWS Cognito 中,从列表中选择现有用户池,或创建用户池。
    3. 在您的用户池中,从导航栏中选择“触发器”选项卡。
    4. 选择一个 Lambda 触发器,例如预注册或预身份验证,然后从 Lambda 函数下拉列表中选择您的 Lambda 函数(之前在 AWS Lambda 中创建)。
    5. 选择保存更改。

    【讨论】:

      猜你喜欢
      • 2018-12-11
      • 2019-09-02
      • 2018-08-23
      • 2019-11-29
      • 2018-09-08
      • 2020-02-25
      • 1970-01-01
      • 2021-09-03
      • 2020-09-01
      相关资源
      最近更新 更多