const AWS = require('aws-sdk');
const region = 'us-east-1';
const sns = new AWS.SNS({ region });
exports.handler = async (event, context) => {
console.log(JSON.stringify(event, null, 2));
const response = event.request;
const userAttributes = response.userAttributes;
const phoneNumber = userAttributes.phone_number;
const message = `Hi ${userAttributes.name}, Thanks for signing up.`
const params = {
Message: message,
PhoneNumber: phoneNumber
};
return new Promise((resolve, reject) => {
sns.publish(params, (err, data) => {
if (err) {
console.error(err);
reject(err);
} else {
console.log(data);
resolve(event);
}
});
});
};
Resources:
AppSyncPostConfirmation:
Type: 'AWS::Serverless::Function'
Properties:
CodeUri: ../amplify/backend/function/lambdaPostConfirmation/src
Handler: app.handler
Runtime: nodejs12.x
MemorySize: 128
LambdaRemove:
Type: 'AWS::Serverless::Function'
Properties:
CodeUri: ../amplify/backend/function/lambdaPostRemove/src
Handler: app.handler
Runtime: nodejs12.x
MemorySize: 128
LambdaUpdate:
Type: 'AWS::Serverless::Function'
Properties:
CodeUri: ../amplify/backend/function/lambdaPostUpdate/src
Handler: app.handler
Runtime: nodejs12.x
MemorySize: 128
... // the rest of the AppSync template
这样,AWS Amplify将在每次部署更新时重新部署Lambda函数,以确保函数不会丢失。