Как мне использовать AWS для запуска кода в определенную дату и время?

Как проще всего использовать AWS для запуска кода в определенную дату и время? Можно ли использовать AWS Lambda или мне нужно создать веб-сервис в EC2? Я предпочитаю использовать Xcode для iOS и, при необходимости, Java с помощью Eclipse, AWS Toolkit и Elastic Beanstalk. Я создаю приложение для iOS, которое отправляет удаленные уведомления пользователю в указанные даты и время?


person Daniel Brower    schedule 24.04.2020    source источник


Ответы (2)


Вы можете использовать AWS Lambda с расписанием событий cloudwatch (либо с частотой, например, каждые 10 минут, либо с расписанием на основе cron), все это довольно легко настроить в консоли AWS.

Среды выполнения Lambda включают: Node.js, Java, Python и dotnet. Единственное, на что вам нужно обратить внимание, это то, что ваш пакет развертывания (код плюс дополнительные библиотеки) должен быть меньше 250 МБ.

Существует несколько бессерверных фреймворков (включая тот, который называется Serverless), которые могут помочь в настройке и поддержке проектов, но для простых функций так же легко писать код непосредственно в консоли AWS.

person quizzical_panini    schedule 24.04.2020
comment
На самом деле я создаю приложение для iOS, поэтому мне нужно будет использовать код в своем приложении для выполнения некоторых задач, а не только в консоли AWS. - person Daniel Brower; 24.04.2020
comment
Используйте API Gateway для настройки REST API, который вы можете вызывать из своего приложения; lambda может запускаться вызовом HTTP из вашего приложения и возвращать ответ, когда это будет сделано. Вы можете использовать JSON, XML или другой протокол для передачи данных между приложением и лямбда-функцией. - person quizzical_panini; 24.04.2020
comment
Мне нужно, чтобы лямбда работала с AWS SNS для отправки удаленного уведомления в мое приложение для iOS. - person Daniel Brower; 24.04.2020
comment
Если я использую REST API и HTTP, должен ли я иметь свой собственный сервер? Я не хочу использовать свой собственный сервер. - person Daniel Brower; 24.04.2020
comment
Нет: все это размещено на AWS. См. страницу шлюза API здесь. Ваше приложение достигает конечной точки aws, которая запускает экземпляр лямбда, который запускает ваш код и возвращает любой ответ, который вы хотите, ваше приложение затем может использовать этот результат. Ваше приложение просто должно сделать вызов REST и проанализировать ответ. - person quizzical_panini; 24.04.2020

В AWS Cloudwatch есть сервис под названием event rules, вы можете использовать его как cronjob (расписание заданий).

Есть еще один сервис под названием Step Functions, который вы можете использовать для объединения этих задач с некоторой логикой.

Возьмите ссылку с приведенным ниже URL-адресом в качестве начала.

https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/Create-CloudWatch-Events-Rule.html

https://blog.shikisoft.com/3-ways-to-schedule-aws-lambda-and-step-functions-state-machines/

person BMW    schedule 24.04.2020
comment
Что такое кронджоб? Это относится к AWS или к более общей теме программирования? - person Daniel Brower; 24.04.2020
comment
Ok. Я понял. Работа cron - это вещь Linux. - person Daniel Brower; 24.04.2020