Как запустить запланированную функцию AWS Lambda, где запланированное время является параметром? - PullRequest
0 голосов
/ 16 октября 2019

Мне интересно, возможно ли запустить задание cron с помощью AWS Lambda с входными параметрами.

Пример: я вызываю свою конечную точку API: api.example.com/LambdaFunction5?timestamp=1571299919&someOtherVariable=NetworkBytes

Как видите, этозапрос get к моему API, который принимает два параметра, отметку времени эпохи (1 день с этого момента) и другой параметр (может быть любым). Затем этот вызов API выполнит задание, которое будет выполнено для данной временной метки с использованием другого параметра в качестве переменной в лямбда-функции.

Как бы я достиг этого с помощью AWS Lambda? Я знаю, что AWS позволяет мне планировать лямбды на определенное время:

https://docs.aws.amazon.com/lambda/latest/dg/tutorial-scheduled-events-schedule-expressions.html

Но проблема в том, что я не хочу создавать новую лямбда-функцию каждый раз, когда мне нужен cronjob.

Есть ли способ сделать это, чтобы, когда я вызываю свою конечную точку API, она создала задание cron на основе времени, которое я дал и запустил только один раз, и "удалила" себя после запуска этого задания,так что я не получаю миллион различных функций или правил CloudWatch?

1 Ответ

0 голосов
/ 16 октября 2019

Вы можете интегрировать Lambda с интеграцией прокси API Gateway для достижения этой цели. API Gateway будет вызывать вашу лямбду от вашего имени и передавать параметр URL как часть объекта события во время выполнения лямбды. Пожалуйста, обратитесь к

https://docs.aws.amazon.com/apigateway/latest/developerguide/set-up-lambda-proxy-integrations.html#api-gateway-create-api-as-simple-proxy

Подробное руководство здесь https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-create-api-as-simple-proxy-for-lambda.html

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