с помощью AWS Lambda
Из этого руководства вы узнаете об основах запуска программного кода с помощью сервиса AWS Lambda, позволяющего не беспокоиться о выделении серверов и управлении ими. Мы подробно рассмотрим процесс создания функции Lambda «Hello World» с помощью консоли AWS Lambda. После этого мы рассмотрим процедуру вызова функции Lambda вручную с помощью примера данных событий и рассмотрим выходные метрики.
Все действия, описанные в этом учебном пособии, доступны на уровне бесплатного пользования.
Запуск бессерверного кода на AWS требует наличия аккаунта
Создать бесплатный аккаунт за несколько минутУровень бесплатного пользования AWS включает 1 миллион бесплатных запросов и до 3,2 миллиона секунд вычислительного времени в месяц для AWS Lambda.
Подробнее об уровне бесплатного пользования AWS »
Щелкните здесь, и в новом окне браузера откроется консоль управления AWS. При этом пошаговое руководство останется открытым. Найдите пункт Lambda в разделе Вычисления и щелкните его, чтобы открыть консоль AWS Lambda.
В схемах содержится пример кода, позволяющего выполнять некоторую минимальную обработку. Большинство схем позволяют обрабатывать события из определенных источников событий, таких как Amazon S3, DynamoDB или пользовательское приложение.
а. На консоли AWS Lambda выберите Создать функцию.
Примечание.
На консоли эта страница отображается, только если до этого функции Lambda не создавались. Если эти функции ранее создавались, откроется окно Lambda > «Функции». На странице со списком выберите Создать функцию, после чего откроется страница создания функции.
Функция Lambda состоит из предоставленного вами кода, связанных зависимостей и данных о конфигурации. Предоставляемые вами данные о конфигурации включают в себя данные о вычислительных ресурсах, которые необходимо выделить (например, данные о памяти), значение тайм-аута выполнения, а также роль IAM, которую AWS Lambda может взять на себя для выполнения функции Lambda от вашего имени.
а. Введите базовую информацию о функции Lambda.
- Название. Здесь можно указать название функции Lambda. Введите значение hello-world-python, которое будет использоваться в этом руководстве.
- Роль. Вы создадите роль IAM (называемую также ролью выполнения) со всеми необходимыми разрешениями, которую AWS Lambda может взять на себя для выполнения функции Lambda от вашего имени. Выберите Создать роль из одного или нескольких шаблонов.
- Имя роли: введите lambda_basic_execution
- В этом разделе можно просмотреть пример кода, написанного на языке Python.
б. Прокрутите экран вниз страницы и выберите Создать функцию.
в. Время исполнения. Сейчас вы можете создать код функции Lambda на языке Java, Node.js, C#, Go или Python. В рамках этого руководства оставьте значение времени исполнения Python 2.7.
г. Обработчик. Можно указать обработчик (метод или функцию в вашем коде), с помощью которых AWS Lambda может начать выполнять код. AWS Lambda предоставляет данные события в качестве входных данных для этого обработчика, который обрабатывает событие.
В этом примере AWS Lambda определяет обработчик из примера кода, поэтому это поле должно быть предварительно заполнено значением lambda_function.lambda_handler.
В консоли отображается функция Lambda hello-world-python; теперь можно протестировать работу функции, проверить результаты и просмотреть журналы.
б. Отобразится окно редактора, в котором можно будет ввести событие, позволяющее протестировать работу функции.
- Из списка шаблонов примеров событий на странице «Ввод тестового события» выберите значение Hello World.
- Введите название события HelloWorldEvent.
- Можно изменить значения в примере JSON, но не изменяйте структуру события. В рамках этого руководства необходимо заменить значение value1 на «hello, world!».
Выберите Создать.
г. После успешного выполнения просмотрите результаты на консоли.
- В разделе Результаты выполнения подтверждается, что выполнение было успешным.
- В разделе Сводка отображается основная информация, приведенная в журнале.
- В разделе Вывод записей журнала отображаются журналы, сгенерированные в процессе выполнения функции Lambda.
AWS Lambda обеспечивает автоматический мониторинг функций Lambda и передачу метрик с помощью сервиса Amazon CloudWatch. Чтобы помочь вам отслеживать свой код в процессе выполнения, AWS Lambda автоматически отслеживает количество запросов, задержку для каждого запроса, а также количество запросов, приводящих к ошибке, и публикует связанные с ними метрики.
в. Для просмотра метрик функции Lambda прокрутите экран вниз. Метрики Lambda передаются с помощью сервиса Amazon CloudWatch. Эти метрики можно использовать для настройки пользовательских предупреждений. Дополнительные сведения об Amazon CloudWatch см. в руководстве разработчика Amazon CloudWatch.
На вкладке «Мониторинг» будут отображаться шесть метрик CloudWatch: количество вызовов, продолжительность вызовов, ошибки вызовов, пропущенные вызовы, возраст итератора и ошибки DLQ.
Используя сервис AWS Lambda, вы платите за то, что реально используете. После превышения ограничений, установленных уровнем бесплатного пользования AWS Lambda, будет взиматься плата в зависимости от количества поступивших запросов (количества вызовов) и времени выполнения кода (продолжительности вызова). Подробнее см. на странице Цены на AWS Lambda.
За хранение вашей функции Lambda не будет взиматься плата, но при желании вы можете легко удалить ее из консоли AWS Lambda.
Вы создали свою первую функцию AWS Lambda. Это ваш первый шаг в изучении процедуры запуска приложений без необходимости выделения серверов или управления ими. AWS Lambda автоматически масштабирует приложения, запуская ваш код в ответ на каждое срабатывание, масштабируя его точно в соответствии с величиной ваших рабочих нагрузок.
Теперь, когда вы научились создавать функции Lambda, вы можете перейти к следующему руководству, из которого вы узнаете, как заставить функцию Lambda обрабатывать данные, загруженные в корзину Amazon S3. Вы будете использовать функцию Lambda для создания в режиме реального времени миниатюр изображений, загруженных в корзину S3.