【发布时间】:2017-09-21 20:47:31
【问题描述】:
我通过节点 SDK 从 AWS 发送短信。短信发送良好,我正在尝试获取送货信息。显然这并不容易,必须设置 SNS 以将日志发送到 Cloudwatch 并解析 CloudWatch 以获取查找 MessageId 的传递信息:https://stackoverflow.com/a/40327061/2054629
如果我通过 SNS Web 界面发送短信,日志我会在 cloudwatch 中看到日志,但当我通过节点 SDK 发送时看不到日志。在从节点发送之前,我无法获得有关如何设置的信息。
理想情况下,我想实现以下目标:
const sendSMS = async (message, number) => {
// send the SMS
// wait to get delivery info
// resolve with delivery info, or reject if failed
}
目前我有:
import AWS from 'aws-sdk';
AWS.config.update({
accessKeyId: accessKey,
secretAccessKey: secretKey,
region: 'us-east-1',
});
const sns = new AWS.SNS();
const sendSMS = async (message, number) => {
return await new Promise((resolve, reject) => {
sns.publish({
Message: message,
MessageStructure: 'string',
PhoneNumber: number,
}, (err, res) => {
if (err) { return reject(err); }
resolve(res);
});
});
}
仅向 AWS 发送 SMS 请求并通过类似的方式解决
{
ResponseMetadata: { RequestId: '7e0999a3-xxxx-xxxx-xxxx-xxxxxxxxxxxx' },
MessageId: 'f7f21871-xxxx-xxxx-xxxx-xxxxxxxxxxxx',
}
我不确定是否必须设置一个 SNS 应用程序才能获取日志,我不想让事情变得简单。
【问题讨论】:
-
我也想这样做,自 2017 年以来你有没有得到任何地方!?
标签: node.js amazon-web-services sms aws-sdk amazon-sns