问题描述
我希望自定义当您拨打 admincreateuser()
时 Cognito 发送给新用户的电子邮件消息
我可以看到您通过 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
字段
看起来这是附着点:)
然而我看不到的是精确的附着机制:(
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
。