当前位置: 首页 > 知识库问答 >
问题:

AWS云形成: Cognito LambdaTrigger CustomEmail Sender-属性"目前不支持AWS云形成."和CDK使用

康弘义
2023-03-14

一般来说,对于CDK实现来说,属性“目前不支持AWS云形成”是什么意思,具体来说:

Cognito Userpool Lambda配置的CloudFormation属性中显示:CustomEmailSender-AWS CloudFormation当前不支持。https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-lambdaconfig.html

在Cognito.CfnUssrPool的CDK中,描述了此属性:https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-cognito.CfnUserPool.LambdaConfigProperty.html#customemailsender

我现在的问题是,这是否可以通过CDK实现?目前,我们的Cognito完全通过CDK提供,我希望保持这种方式。

编辑:

我发现了一个链接(使用带有CFN的CustomEmailSender),其中说与文档相反,它似乎确实有效,而且只有文档尚未更新,我将对此进行测试并给出反馈。

共有1个答案

谷梁楚青
2023-03-14

在测试CustomEmailSender CDK实现之后,我不得不说AWS CloudFormation文档没有当前状态。因此,CFN和CDK可以使用此功能。AWS文件CFN Cognito CustomEmailSender

CDK中的ToDos:

  • 配置Cognito:您必须使用lambdaConfig,而不是使用属性emailConfiguration
lambdaConfig: {
        customEmailSender: { lambdaArn: customSenderEmailLambdaArn, lambdaVersion: 'V1_0' }, 
        // the version is an ENUM so be careful when you set it
        kmsKeyId: kmsKeyArn,
      },
  • 正如您在这里看到的,您还必须设置KMS密钥(您可以调整现有密钥或创建新的KMS密钥)。这里最重要的是允许Cognito和Lambda函数使用actionkms:CreateGrant
  • 另一个重要的任务是添加Lambda对Cognito的权限,actioncognitoidp:InvokeFunction
  • 使用CustomEmailSender而不是普通Lambda触发器的最大优点是,您不必在CDK代码或Cognito控制台中设置所有触发器(所有电子邮件事件都将自动发送到Lambda)
 类似资料:
  • 我有一个云形成模板集合,我正在使用它来创建新资源,但我也有一小部分在CF之外创建的AWS资源,我现在想将其导入CF。我知道如何通过AWS仪表板将现有资源导入CF,但我想使用CLI来代替。 这是我认为会有帮助的文档,但它似乎已经过时了,因为我在运行时没有“-resources to import”选项。如果可以通过命令行实现这一点,最新的示例将非常有用。

  • 我正在尝试构建AWS CloudFormation模板以创建API网关。 当我手动创建API网关时,我使用阶段变量为不同阶段使用不同的AWS函数。 eg.我有一个名为的阶段变量,当API网关的阶段是 时,adminLogin的值将是- 云信息模板片段- 当我运行cloudformation模板时,出现以下错误- 问题完全在于属性, 我两个都试过了- 和 参考- https://docs.aws.a

  • 我有一个向 SNS 主题发送通知的 AWS λ。 Lambda函数 我们使用云形成模板来部署 、 和 。如何访问通过云信息创建的主题的 ARN。 云形成模板

  • 我需要用lambda和cloudwatch事件创建一个cloudformation模板,该模板将定期触发它。这是我的模板:

  • 我正在尝试为AWS CloudFormation模板制定逻辑流程,该模板将承担IAM角色,可以从另一个AWS帐户的S3存储桶中提取文件。 到目前为止,我得到的是: accountA有一个角色a roleA的策略允许sts:AssumeRole作为accountB:arn:aws:iam::1112223444:role/AllowPullS3中的角色 accountB的角色(AllowPullS3

  • 我有一个Powershell Lambda,我希望通过AWS CDK部署它,但在运行时遇到问题。 通过手动发布AWSPowerShellLambda部署Powershell可以: 但是,与CDK一起部署的同一脚本不会记录到CloudWatch日志,即使它具有以下权限: powershell脚本当前仅包含以下行,在CLI上由Publish AWSPowerShellLambda部署时可以工作: 注意