serverless
Version:
Serverless Framework - Build web, mobile and IoT applications with serverless architectures using AWS Lambda, Azure Functions, Google CloudFunctions & more
48 lines (37 loc) • 1.08 kB
JavaScript
;
const awsRequest = require('@serverless/test/aws-request');
function createSnsTopic(topicName) {
const params = {
Name: topicName,
};
return awsRequest('SNS', 'createTopic', params);
}
function removeSnsTopic(topicName) {
return awsRequest('SNS', 'listTopics').then(data => {
const topicArn = data.Topics.find(topic => RegExp(topicName, 'g').test(topic.TopicArn))
.TopicArn;
const params = {
TopicArn: topicArn,
};
return awsRequest('SNS', 'deleteTopic', params);
});
}
function publishSnsMessage(topicName, message, messageAttributes = null) {
return awsRequest('SNS', 'listTopics').then(data => {
const topicArn = data.Topics.find(topic => RegExp(topicName, 'g').test(topic.TopicArn))
.TopicArn;
const params = {
Message: message,
TopicArn: topicArn,
};
if (messageAttributes) {
params.MessageAttributes = messageAttributes;
}
return awsRequest('SNS', 'publish', params);
});
}
module.exports = {
createSnsTopic,
removeSnsTopic,
publishSnsMessage,
};