我想使用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));
});
答案 0 :(得分:1)
根据github中的this issue和this issue,这似乎是由于AWS实例的区域与主题的区域不匹配。
如果您在其他地区使用AWS实例并希望保持全局区域不变,则可以这样做,以使sns实例位于正确的区域:
const sns =新的AWS.SNS({地区:'eu-west-x'});