可以使用Amazon Web Services(AWS)提供的多个服务来解决观看DLD消息的需求。其中一个解决方案是使用AWS Lambda函数结合Amazon Simple Notification Service(Amazon SNS)和Amazon Simple Queue Service(Amazon SQS)。
以下是实现该方案的步骤:
exports.handler = function(event, context) {
console.log("Received DLD message: " + JSON.stringify(event));
//process the DLD message
};
var AWS = require('aws-sdk');
var sns = new AWS.SNS();
sns.createTopic({
Name: 'dld-topic'
}, function(err, data) {
if (err) {
console.log(err, err.stack);
} else {
console.log(data);
var topicArn = data.TopicArn;
sns.subscribe({
Protocol: 'lambda',
TopicArn: topicArn,
Endpoint: process.env.AWS_LAMBDA_FUNCTION_NAME
}, function(err, data) {
if (err) {
console.log(err);
} else {
console.log(data);
}
});
}
});
var sqs = new AWS.SQS();
sqs.createQueue({
QueueName: 'dld-queue'
}, function(err, data) {
if (err) {
console.log(err, err.stack);
} else {
console.log(data);
var queueUrl = data.QueueUrl;
}
});
var policy = {
Version: '2012-10-17',
Statement: [{
Effect: 'Allow',
Principal: '*',
Action: 'sns:Publish',
Resource: '',
Condition: {
ArnEquals: {
'aws:SourceArn': ''
}
},
Principal: {
Service: 'sns.amazonaws.com'
},
Action: 'sqs:SendMessage',
Resource: ''
}]
};
sns.setTopicAttributes({
AttributeName: 'Policy',
AttributeValue: JSON.stringify(policy),
TopicArn: ''
}, function(err, data) {
//handle error or success
});
var message = {
Message
上一篇:AWS管道,等待阶段完成
下一篇:AWS管理的AD SSL证书导出