如何使用节点js和http端点修复订阅SNS主题的错误

时间:2019-04-09 15:49:40

标签: node.js amazon-web-services amazon-sns

我想使用http端点来订阅主题,以便可以在Web应用程序上显示任何消息,我正在尝试订阅主题,但收到错误InvalidParameter: Invalid parameter: TopicArn,我不确定为什么吗?我认为我的topicarn格式正确,

相关代码:

// configure AWS
AWS.config.update({
    'region': 'eu-west-2',    // is this the region of my topic ?
    'accessKeyId': 'keyid',
    'secretAccessKey': 'secretkey'
});

const sns = new AWS.SNS();
sns.subscribe({
    'TopicArn': 'arn:aws:sns:eu-west-x:xxxxxxx:my_topic',
    'Protocol': 'http',
    'Endpoint': 'http://localhost/:3000'
}, function (err, result) {

    if (err !== null) {
        console.log(util.inspect(err));
        return;
    }
    console.log(util.inspect(result));
});

1 个答案:

答案 0 :(得分:1)

根据github中的this issuethis issue,这似乎是由于AWS实例的区域与主题的区域不匹配。

如果您在其他地区使用AWS实例并希望保持全局区域不变,则可以这样做,以使sns实例位于正确的区域:

  

const sns =新的AWS.SNS({地区:'eu-west-x'});