这是在本地成功发送短信的代码
Agent
但是,这不会从我部署的lambda中触发。
我的serverless.yml包含必要的iamRoleStatements
const snsParams = {
Message: "Hello World",
PhoneNumber: normalizedPhoneNumber,
};
const sms = messager.publish(snsParams).promise();
sms.then(data => {
console.log('Success!', data);
}).catch(err => {
console.log('Error!', err);
});
我还从IAM管理控制台中检查了我的lambda角色中是否包含SNS
我该如何进行这项工作?我想念什么?
答案 0 :(得分:0)
我认为问题可能在于承诺,因为
messager.publish(snsParams).promise();
仅创建一个承诺,执行承诺时没有等待。
您可以更改代码,以便:
exports.handler = async function(event) {
...
const snsParams = {
Message: "Hello World",
PhoneNumber: normalizedPhoneNumber,
};
try {
const sms = await messager.publish(snsParams).promise();
console.log('Success!', sms);
} catch (err) {
console.log('Error!', err);
}
}