Без сервера - Запланируйте событие, не создавая события CloudWatch - PullRequest
1 голос
/ 07 января 2020

Без сервера не создает CloudWatch Events как триггер лямбды. Нет предупреждений или ошибок.

functions:
  aggregate:
    handler: statistics.handler
    events:
      - schedule:
          rate: rate(10 minutes)

1 Ответ

3 голосов
/ 07 января 2020

Примеры без сервера не демонстрируют критическую природу отступа. https://serverless.com/framework/docs/providers/aws/events/schedule/#schedule

functions:
  aggregate:
    handler: statistics.handler
    events:
    # "- schedule:" has to start at the same indentation as the "events:" above it.
    - schedule:
        # The CloudWatch Events Rules have to be exactly 4 spaces indented below the "- schedule:"
        rate: rate(10 minutes)
        # ... other fields

Crtical:

  • Совместите - schedule: с events: над ним.
  • Выровняйте следующую строку например, rate: rate(6 minutes) 4 пробела с отступом от - schedule:

enter image description here

Пример кода:

service: my-service
provider:
  name: aws
  region: us-west-2
  runtime: nodejs10.x
functions:
  hello:
    handler: handler.hello
    events:
    - schedule:
        rate: cron(*/5 * * * ? *)
        enabled: true

с

module.exports.hello = (event, context, callback) => {
  console.log("Hello, world!");
  callback(null);
};

Просто отступ - расписание 2 пробелов, как я и ожидал, не создает события cloudwatch в AWS. Это единственное изменение в 2 пробела определяет разницу между тем, создано ли правило события cloudwatch или нет.

Примечание. Между двумя отступами ошибок не возникает, но создается 6 против 8 AWS ресурсов (2 пропущенные не создают правила событий cloudwatch).

...