Бессерверный SNS filterPolicy не устанавливает фильтр при создании подписки - PullRequest
0 голосов
/ 12 ноября 2018

Я использую следующее определение функции:

missing:
    handler: functions/eeegMissing.handler
    events:
      - sns: arn:aws:sns:us-west-2:xxx
        filterPolicy:
              type:
                - EPILOG_PAGE_DATA_RECEIVED

Тема SNS уже существует. При его развертывании создается подписка с именем

arn:aws:lambda:us-west-2:xxx:function:eeeg-dev-missing` 

но фильтр пуст. Я ожидал бы, что фильтр покажет как:

{ "type":["EPILOG_PAGE_DATA_RECEIVED"]}

Чего мне не хватает?

1 Ответ

0 голосов
/ 13 декабря 2018

У вас просто небольшая синтаксическая ошибка. У меня есть функция Serverless со следующим событием, и она работает:

events:
- sns: 
    arn: ${self:custom.devicesTopicArn}
    filterPolicy:
      operation:
      - INSERT

Так что в вашем случае это должно быть:

missing:
  handler: functions/eeegMissing.handler
  events:
    - sns:
        arn: arn:aws:sns:us-west-2:xxx
        filterPolicy:
          type:
            - EPILOG_PAGE_DATA_RECEIVED
...