Как исправить ошибку подписки на тему SNS с узлом js и конечной точкой http - PullRequest
0 голосов
/ 09 апреля 2019

Я хочу использовать конечную точку http для подписки на тему, чтобы я мог отображать любые сообщения в веб-приложении, я пытаюсь подписаться на тему, но получаю сообщение об ошибке InvalidParameter: Invalid parameter: 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 голосов
/ 09 апреля 2019

Согласно этой проблеме и этой проблеме в github похоже, что это связано с тем, что регион экземпляра AWS не соответствует региону темы.

Если выиспользуйте экземпляр AWS в других областях и хотите сохранить глобальный регион как есть, вы можете сделать это, чтобы сделать экземпляр sns в правильном регионе:

const sns = new AWS.SNS ({регион: 'eu-west-x'});

...