Aks*_*man 2 amazon-web-services node.js aws-lambda
这是我的 lambda 函数。只返回消息 ID 和请求 ID。但是如何验证消息是否已传递?
const AWS = require('aws-sdk');
AWS.config.update({
accessKeyId: 'xxxx',
secretAccessKey: 'xxxx',
region: 'xxxx'
});
const mobile = 'xxxxxxx';
const sns = new AWS.SNS();
const confirmUpload = (callback) => {
sns.publish({
Message: 'Test From Admin side',
Subject: 'Admin',
MessageStructure: 'string',
PhoneNumber: mobile
}, (err, result) => {
if (err) callback(false, err);
else callback(true, result);
});
};
exports.handler = (event,context, callback) => {
confirmUpload((st, data) =>{
if(st){
let record = {
"data": JSON.stringify(data),
"event": event,
"context": context
};
callback(null, (record));
} else{
callback(data, "not send");
}
});
};
Run Code Online (Sandbox Code Playgroud)
这是运行 lambda 函数时的响应
"{\"ResponseMetadata\":{\"RequestId\":\"e8a07b26-d793-58e1-a529-2d7ac17aca9x\"},\"MessageId\":\"b8ecbcac-9f83-5bca-a9eb-eaf0896a69b\"}",
Run Code Online (Sandbox Code Playgroud)
如果您对您的主题启用传递状态功能,您可以使用消息 ID 字段来跟踪您发布的消息的传递状态。
在您配置消息传输状态属性后,对于发送到订阅了 Amazon SNS 终端节点的主题的消息,日志条目将发送到 CloudWatch Logs。记录消息传递状态有助于提供更好的操作洞察力,例如:
了解消息是否已传送到 Amazon SNS 终端节点。
识别从 Amazon SNS 终端节点发送到 Amazon SNS 的响应。
确定消息停留时间(发布时间戳和移交给 Amazon SNS 终端节点之前的时间)。
您可以查看本文以使用消息 ID 查找传递状态
using-the-delivery-status-feature-of-amazon-sns
顺便说一句,我不会建议签入相同的 lambda,而是仅配置云监视日志和过滤失败主题。这里会有流量
您可能还喜欢AWS 的 SNS SLA。
| 归档时间: |
|
| 查看次数: |
1761 次 |
| 最近记录: |