将Lambda触发器附加到Cloudformation中的Cognito用户池



我想定制Cognito在您呼叫adminCreateUser()时发送给新用户的电子邮件

我可以看到你通过Lambda功能做到这一点,例如-

https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-custom-message.html

exports.handler = (event, context, callback) => {
if(event.userPoolId === "theSpecialUserPool") {
if(event.triggerSource === "CustomMessage_AdminCreateUser") {
event.response.smsMessage = "Welcome to the service. Your user name is " + event.request.usernameParameter + " Your temporary password is " + event.request.codeParameter;
event.response.emailSubject = "Welcome to the service";
event.response.emailMessage = "Welcome to the service. Your user name is " + event.request.usernameParameter + " Your temporary password is " + event.request.codeParameter;
}
}
callback(null, event);
};

我还可以看到AWS::Cognito::UserPool有一个LambdaConfig对象,带有一个CustomMessage字段

https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-lambdaconfig.html

看起来这是连接点:)

然而,我看不到的是:(的精确连接机制

CustomMessage字段定义是隐式

CustomMessage
A custom Message AWS Lambda trigger.
Required: No
Type: String
Minimum: 20
Maximum: 2048
Pattern: arn:[w+=/,.@-]+:[w+=/,.@-]+:([w+=/,.@-]*)?:[0-9]+:[w+=/,.@-]+(:[w+=/,.@-]+)?(:[w+=/,.@-]+)?
Update requires: No interruption

这只是一个String,但那是String

  • 一个ARN
  • Ref
  • 内联Lambda主体声明

有人知道LambdaConfig.CustomMessage绑定支持以上哪种格式吗?

根据CustomMessage字符串值的验证模式,它似乎支持ARN,因为字符串必须包含arn

最新更新