我想使用http端点订阅主题,以便我可以在webapp上显示任何消息,我正在尝试订阅一个主题,但得到一个错误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));
});
根据github中的this issue和this issue,它看起来像是由于AWS实例的区域与主题区域不匹配。
如果您在其他区域中使用AWS实例并希望保持全局区域不变,则可以执行此操作以使sns实例位于正确的区域中:
const sns = new AWS.SNS({region:'eu-west-x'});