Запланировано без сервера, обнаружение cron - PullRequest
2 голосов
/ 27 октября 2019

Я бы хотел запустить функцию как через HTTP, так и через cron, но не вижу никакой документации, которая позволяет мне определить, был ли это запрос http или запрос cron (явно):

    events:
      - http:
          path: /foo
          method: ANY
          cors:
            origin: '*'
      - schedule: rate(5 minute)

Есть лисвойство в event или context, которое позволило бы мне определить, что вызвало функцию?

1 Ответ

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

Вы всегда можете передать вход в событие расписания и использовать его, чтобы определить, что это событие расписания

events:
  - http:
      path: /foo
      method: ANY
      cors:
        origin: '*'
  - schedule:
      rate: rate(5 minute)
      input:
          isSchedule: true

Здесь есть и другие примеры: https://serverless.com/framework/docs/providers/aws/events/schedule/

РЕДАКТИРОВАТЬ:

Забыли об этом

{
    "version": "0",
    "id": "53dc4d37-cffa-4f76-80c9-8b7d4a4d2eaa",
    "detail-type": "Scheduled Event",
    "source": "aws.events",
    "account": "123456789012",
    "time": "2015-10-08T16:53:06Z",
    "region": "us-east-1",
    "resources": [
        "arn:aws:events:us-east-1:123456789012:rule/my-scheduled-rule"
    ],
    "detail": {}
}

Вы также можете проверить detail-type поле https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/RunLambdaSchedule.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...