Как настроить фильтрацию сообщений при подписке AWS SNS с использованием Javascript SDK - PullRequest
0 голосов
/ 01 мая 2020

Используя AWS SNS, я хочу установить политику фильтра при подписке конечной точки sms на topi c. Но я получаю эту ошибку: «Протокол доставки SMS не поддерживает фильтрацию сообщений»

Я поделюсь кодом здесь ...

const AWS = require("aws-sdk")

module.exports.main = async (event) => {
    try {
      const sns = new AWS.SNS()
      const requestBody = event;
      var params = {
        Protocol: 'SMS', /* required */
        TopicArn: 'arn:aws:sns:us-east-1:XXXXXXXX:notification_system', /* required */
        Endpoint: requestBody.phoneNumber,
        Attributes: {
          "FilterPolicy": "{\`number`: [\`Filter1\`]}"
        }
      };
      var subscribePromise = await sns.subscribe(params).promise();

Я не уверен, почему я получаю эту ошибку , Я проверил, что могу установить политику фильтра на консоли AWS, но не на SDK. Пожалуйста, помогите мне найти решение. Спасибо

1 Ответ

1 голос
/ 01 мая 2020

Извините, я нашел решение. Параметр протокола должен быть в нижнем регистре "смс". Код должен быть таким:

const AWS = require("aws-sdk")

module.exports.main = async (event) => {
    try {
      const sns = new AWS.SNS()
      const requestBody = event;
      var params = {
        Protocol: 'sms', /* required */
        TopicArn: 'arn:aws:sns:us-east-1:XXXXXXXX:notification_system', /* required */
        Endpoint: requestBody.phoneNumber,
        Attributes: {
          "FilterPolicy": "{\`number`: [\`Filter1\`]}"
        }
      };
      var subscribePromise = await sns.subscribe(params).promise();
...