Articles of amazon sns

使用javascript SDK在lambda上启用SNS事件源

我正在尝试使用JavaScript AWS SDK在lambda上创buildSNS事件源。 我有以下代码片段: var permissionParams = { FunctionName: "MyFunction", Action: "lambda:Invoke", Principal: "sns.amazonaws.com", StatementId: "snsinvoke", SourceArn: "MyArn" }; lambda.addPermission(permissionParams, function (err, data) { if (err) { console.log(err); } else { console.log(data); } }); 这与订阅该主题的另一个调用相结合在lambda中创build事件源,但是它被禁用。 是否有另一个电话,我可以使它启用或有一种方法来启用它,当我添加它?

使用AWS IOT和SNS的Web推送通知

我想实现一个通用的networking和移动推送通知服务。 我发现可以使用AWS IOT来实现PUSH服务,如以下链接所述: https : //serverless.zone/iot-with-the-serverless-framework-e228fae87be,但它不会使用SNS。 现在,如果我单独介绍了AWS-SNS,它的主页声称它应该用于推送通知( https://aws.amazon.com/sns/ ),但根据我的阅读,我们仍然需要GCM Android之间。 那我们为什么要用SNS? 在这种情况下,我们需要什么样的WEB? 我们应该使用AWS IOT还是SNS进行推送通知? 如何实施?

如何在NodeJS的SNS发布方法中设置TTL属性?

我正在编写代码来发送一个OTP消息。 我目前的参数和发布方法如下所示: params = { Message: otpMessage, MessageStructure: 'string', PhoneNumber: contactNo }; sns.publish(params, function(err, data) { if (err) console.log(err, err.stack); // an error occurred else console.log(data); // successful response }); 如何设置TTL属性?

无法确认NodeJS中的http端点的aws Sns订阅

我已经使用下面的一段代码来处理AWS SNS订阅和通知消息。 已configuration的http端点正在接收确认消息,但我无法通过代码进行确认。 但是,通过访问logging控制台消息中的“订阅URL”,可以手动确认它。 我已经configuration了aws和sns部分,如下所述: var aws = require('aws-sdk'); aws.config.loadFromPath(__dirname + '/awsConfig.json'); var sns = new aws.SNS(); 这是我用来处理http端点消息的以下函数。 function handleIncomingMessage(msgType, msgData) { if (msgType === 'SubscriptionConfirmation') { //confirm the subscription. console.log("Subscription Confirmation Message—>"+msgData); sns.confirmSubscription({ TopicArn: msgData.TopicArn }, onAwsResponse); } else if (msgType === 'Notification') { console.log("Notification has arrived"); } else { console.log('Unexpected message type ' […]

获得AWS SNS的成功响应,但未送达SMS

我正在写一个简单的程序来使用Javascript客户端使用SNS服务发送短信。 var AWS = require('aws-sdk'); var sns = new AWS.SNS({ region : 'ap-southeast-1', accessKeyId: '', secretAccessKey: '' }); sns.publish({ Message : "Test message", PhoneNumber : "Test number" }, function (err, data) { if(err) { console.log("Error – " + err); } else { console.log('Success – '); console.log(data); } }); 我获得了成功,数据看起来像 { ResponseMetadata: { RequestId: '3b4e8c82-976c-55da-b1fa-dcd9ddc7254d' }, […]

从AWS Lambda Alexa Intent,Node.js中发布到SNS

我有一个用Node.js编写的Lambda函数,可以成功发布到SNS。 当我在Alexa Lambda函数的Alexa意图中使用相同的函数时,只有在注释掉代码的Alexa部分时才会执行该函数。 这是独立的Lambda函数: var AWS = require("aws-sdk"); exports.handler = function() { var sns = new AWS.SNS(); var params = { Message: "Cheese", Subject: "Test SNS From Lambda", TopicArn: "arn:aws:sns:us-east-1:xxxxxxx:MyTopic" }; sns.publish(params, function(){}); }; 如果我然后尝试将SNS代码放入我的Alexa lambda函数的函数中,则不会执行。 Alexa代码的其余部分工作正常,但没有发布到SNS。 如果我把它的Alexa部分注释掉,它确实有效。 这是不起作用的代码(aws-sdk包含在文件的顶部,在本例中省略): exports.handler = function(event, context) { var sns = new AWS.SNS(); var params = { Message: "Cheese", […]

如何使用Node JS中的Amazon SNS将VoIP推送通知发送到iOS设备

我正在尝试使用名为sns-mobile和Amazon SNS API的NodeJS程序包,将App推送通知直接从App服务器发送到iOS设备。 但是,当我尝试使用下面的代码发送VoIP推送,这是我得到的错误信息。 有人可以build议我哪里出错,我已经花了近半天的时间来解决这个问题。 无效参数:JSON必须包含“默认”或“APNS_VOIP”条目 var iOSApp = new SNS({ platform: SNS.SUPPORTED_PLATFORMS.IOS, region: 'us-west-2', apiVersion: '2010-03-31', accessKeyId: 'XXXXXXXXXXXXX', secretAccessKey: 'XXXXXXXXXXXXX', platformApplicationArn: 'arn:aws:sns:us-west-2:3303035XXXXX:app/APNS_VOIP/VoIPPushesApp' }); iOSApp.addUser('deviceID', JSON.stringify({ "APNS_VOIP": JSON.stringify({aps:{alert:"Hello and have a good day."}}) }) , function(err, endpointArn) { if(err) { console.log("The Error is :****: "+JSON.stringify(err, null, 4)); throw err; } // Send a simple String […]

通过HTTP确认SNS订阅时出现AuthorizationError

我正在写一个简单的SNS客户端,意在自订一个SNS主题,然后监听通知。 我可以成功提交sns.subscribe请求,但是当我从AWS获取SubscriptionConfirmation POST消息并尝试使用sns.confirmSubscription响应sns.confirmSubscription我得到一个AuthorizationError : [AuthorizationError: User: arn:aws:iam::xxx:user/mv-user is not authorized to perform: SNS:ConfirmSubscription on resource: arn:aws:sns:us-east-1:xxx:*] 如果我在服务器的GET查询中使用完全相同的Token和TopicArn,订阅确认工作正常,没有身份validation。 任何想法,为什么它不工作? 我的SNS主题是广泛开放的发布/订阅权限设置为“每个人”。 作为参考,我的代码是这样的: var params = { TopicArn: topicArn, // eg arn:aws:sns:us-east-1:xxx:yyy Token: token // long token extracted from POST body }; sns.confirmSubscription(params, function (err, data) { if (err) { // BOOOM – keep getting here with AuthorizationError […]

SNS推送通知与图像使用Node.js?

我使用的是Amazon和iOS的Amazon SNS Mobile Push Notifications。 只有发送带有文本和图标的推送通知,我非常成功。 现在我试图发送图像底部的通知。 我search每一个地方,但无法find一个完美的文档工作。 任何build议,请。 我用npm安装了这个包,我用这个来发送推送通知。 请参考这个链接。 https://www.npmjs.com/package/sns-mobile AWS_SNS_App.getUsers(function (err, allDevices) { if (err) { console.log(err, err.stack); // an error occurred } else { if (allDevices.length != 0) { var totalDevices = 0; for (var i = 0; i < allDevices.length; i++) { totalDevices = totalDevices + 1; AWS_SNS_App.sendMessage(allDevices[i].EndpointArn, message, function […]

获取AWS SMS的交付状态

我通过节点SDK从AWS发送短信。 短信发送情况良好,我正在尝试收到发送信息。 显然不是那么容易,而且必须设置SNS才能将日志发送到Cloudwatch,并parsingCloudWatch以获取查找MessageId的传递信息: https ://stackoverflow.com/a/40327061/2054629 如果我通过SNSnetworking界面发送短信,日志中会看到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 […]