InvalidResourceException при попытке «ref» события в функции - PullRequest
0 голосов
/ 24 октября 2019

У меня есть файл шаблона SAM, который выдает ошибки при выполнении sam build: [InvalidResourceException('MyFunction', "Type of property 'Events' is invalid.")]

Во-первых, вверху моего файла (на том же уровне, что и Globals), у меня есть этособытие (идея состоит в том, чтобы определить расписание CloudWatch, которое запускается каждые 15 минут и вызывает лямбду):

Events:
  Type: Schedule
  Properties:
    Schedule: rate(15 mins)
    name: InvokeEvery15MinutesSchedule
    Description: Invoke the target every 15 mins
    Enabled: True

А вот как выглядит функция:

MyFunction:
  Type: AWS::Serverless::Function
  Properties:
    CodeUri: ./path-to-code
    Events:
      - !Ref InvokeEvery15MinutesSchedule

Я делалэто потому, что я раньше видел, что следующий синтаксис действителен:

Globals:
  Function:
    Layers:
      - !Ref Layer1
      - !Ref Layer1

Итак, я подумал, что если я определю событие на верхнем уровне и сошлюсь на него внутри лямбды, оно будет работать. Я хочу оставить это вне лямбда-объявления, потому что я хочу, чтобы это применялось к нескольким функциям.

Может кто-нибудь помочь с тем, что я делаю неправильно?

1 Ответ

1 голос
/ 28 октября 2019

«События» - это исходный лямбда-объект, который определяет события, запускающие эту функцию. Объект, описывающий источник событий, которые вызывают функцию. Попробуйте это:

MyFunction:
  Type: AWS::Serverless::Function
  Properties:
    CodeUri: ./path-to-code
    Events:
      RateSchedule:
        Type: Schedule
        Properties:
          Schedule: rate(15 mins)
          Name: InvokeEvery15MinutesSchedule
          Description: Invoke the target every 15 mins
          Enabled: True
...