#node.js #amazon-web-services #amazon-sns
#node.js #amazon-веб-сервисы #amazon-sns
Вопрос:
Я хочу использовать конечную точку http для подписки на тему, чтобы я мог отображать любые сообщения в веб-приложении. Я пытаюсь подписаться на тему, но получаю сообщение об ошибке 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:
Согласно этой проблеме и этой проблеме в github, похоже, что это связано с тем, что область экземпляра AWS не соответствует области темы.
Если вы используете экземпляр AWS в других областях и хотите сохранить глобальный регион как есть, вы можете сделать это, чтобы создать экземпляр sns в правильном регионе:
const sns = новый AWS.SNS({ region: ‘eu-west-x’ });