本文整理汇总了TypeScript中aws-sdk.SNS类的典型用法代码示例。如果您正苦于以下问题:TypeScript SNS类的具体用法?TypeScript SNS怎么用?TypeScript SNS使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了SNS类的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1:
var subscribeResponse = await this.executeAwsRequestAsync<AWS.SNS.SubscribeResult>((callback) =>
snsClient.subscribe(
{
TopicArn: createTopicResponse.TopicArn,
Protocol: "sqs",
Endpoint: queueArn
},
callback));
示例2: sendLevel
sendLevel(level: LogLevels, summary: string, event: any, cb?: {(err?: Error, resp?: SNS.PublishResponse)}) {
let params = {
TopicArn: this.getArn(),
Message: this.buildMessage(level, summary, event),
Subject: level + ' - ' + summary
}
if (this.config.silenceNotifier) return
cb = cb || ((err?: Error, resp?: SNS.PublishResponse) => {
if (err) return this.emit('error', err)
this.emit('response', resp)
})
this.snsClient.publish(params, cb)
}
示例3: execute
public async execute(callback: Lambda.Callback) {
var snsClient = new AWS.SNS();
var topicArn = "arn:aws:sns:eu-west-1:170643467817:MessageBus_" + this.messageType;
console.log("Topic Arn: " + topicArn);
var publishResponse = await this.executeAwsRequestAsync<AWS.SNS.PublishResult>((callback) =>
snsClient.publish(
{ TopicArn: topicArn, Message: this.message },
callback));
console.log("Published: " + publishResponse.MessageId);
}
示例4: execute
public async execute(callback: Lambda.Callback) {
var snsClient = new AWS.SNS();
var sqsClient = new AWS.SQS();
var queueName = "MessageBus_" + this.subscriberId;
var topicName = "MessageBus_" + this.messageType;
console.log("Queue name: " + queueName);
console.log("Topic name: " + topicName);
var createQueueResponse = await this.executeAwsRequestAsync<AWS.SQS.CreateQueueResult>((callback) =>
sqsClient.createQueue(
{
QueueName: queueName,
Attributes: {
Policy: '{"Version": "2012-10-17","Id": "SNSSenMessage","Statement": [{"Sid": "Allow-SNS-SendMessage","Effect": "Allow","Principal": "*","Action": ["sqs:SendMessage","SQS:ReceiveMessage","SQS:DeleteMessage"],"Resource": "arn:aws:*:*:*"}]}'
} },
callback));
var queueAttributesResponse = await this.executeAwsRequestAsync<AWS.SQS.GetQueueAttributesResult>((callback) => {
sqsClient.getQueueAttributes(
{
QueueUrl: createQueueResponse.QueueUrl,
AttributeNames: ["All"]
},
callback);
});
var queueArn = queueAttributesResponse.Attributes["QueueArn"];
console.log("SQS queue created: " + createQueueResponse.QueueUrl + ":" + queueArn);
var createTopicResponse = await this.executeAwsRequestAsync<AWS.SNS.CreateTopicResult>((callback) =>
snsClient.createTopic(
{ Name: topicName },
callback));
console.log("SNS topoc created: " + createTopicResponse.TopicArn);
var subscribeResponse = await this.executeAwsRequestAsync<AWS.SNS.SubscribeResult>((callback) =>
snsClient.subscribe(
{
TopicArn: createTopicResponse.TopicArn,
Protocol: "sqs",
Endpoint: queueArn
},
callback));
console.log("SQS queue subscribed to topic: " + subscribeResponse.SubscriptionArn);
}
示例5: require
const path = require('path')
const aws = require('aws-sdk')
const { SNSNotifier } = require('../src')
const snsClient = new aws.SNS({region: 'us-east-1', endpoint: process.env.SNS_ENDPOINT || `http://sns.docker`})
const notifier = new SNSNotifier({snsClient, region: 'us-east-1', awsAccountId: 'fake'}, {domainName: 'ftl-engine-test'})
const topicName = 'ftl-engine-alerts'
const s3Client = new aws.S3({region: 'us-east-1', endpoint: process.env.S3_ENDPOINT || `http://s3.docker`})
// just try to slip this in before anything happens, not awesome, but should work almost always
snsClient.createTopic({Name: 'ftl-engine-alerts'}, (err, resp) => {
if (err) console.log('failed to create sns topic', err)
notifier.getArn = () => resp.TopicArn
})
module.exports = function() {
return {
defaultVersion: '1.0.0',
activities: [
path.join(__dirname, 'activities')
],
notifier: {
instance: notifier
},
logger: {
name: 'ftl-engine',
devMode: true
},
swf: {
domainName: 'ftl-engine-test',
workflowName: 'ftl-engine'
},
示例6:
var publishResponse = await this.executeAwsRequestAsync<AWS.SNS.PublishResult>((callback) =>
snsClient.publish(
{ TopicArn: topicArn, Message: this.message },
callback));