Из этого руководства вы узнаете об основах запуска программного кода с помощью сервиса AWS Lambda, позволяющего не беспокоиться о выделении серверов и управлении ими. Мы подробно рассмотрим процесс создания функции Lambda «Здравствуй, мир!» с помощью консоли AWS Lambda. После этого мы рассмотрим процедуру вызова функции Lambda вручную с помощью примера данных событий и рассмотрим выходные метрики.

Все действия, описанные в данном руководстве, доступны на уровне бесплатного пользования.

Запуск бессерверного кода на AWS требует наличия аккаунта

Создать бесплатный аккаунт за несколько минут

Уровень бесплатного пользования AWS включает 1 миллион бесплатных запросов и до 3,2 миллиона секунд вычислительного времени в месяц для AWS Lambda.

Сведения об уровне бесплатного пользования AWS »

 

Щелкните здесь, и Консоль управления AWS откроется в новом окне браузера, оставив открытым это пошаговое руководство.  Найдите пункт Lambda в разделе Compute и нажмите его, чтобы открыть консоль AWS Lambda.

create-lambda-function_0

(Нажмите, чтобы увеличить)

create-lambda-function_0

В схемах содержится пример кода, позволяющего выполнять некоторую минимальную обработку. Большинство схем позволяют обрабатывать события из определенных источников событий, таких как Amazon S3, DynamoDB или пользовательское приложение.

a. В консоли AWS Lambda нажмите кнопку Get Started Now.

Если у вас уже есть функции Lambda, выберите пункт Create a Lambda function.

create-lambda-function_1

(Нажмите, чтобы увеличить)

create-lambda-function_1

b. В поле фильтра введите hello-world-python и выберите схему hello-world-python.

create-lambda-function_2

(Нажмите, чтобы увеличить)

create-lambda-function_2

Функция Lambda состоит из предоставленного вами кода, связанных зависимостей и данных о конфигурации. Предоставляемые вами данные о конфигурации включают в себя данные о вычислительных ресурсах, которые необходимо выделить (например, данные о памяти), значение тайм-аута выполнения, а также роль IAM, которую AWS Lambda может взять на себя для выполнения функции Lambda от вашего имени.


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

Configure Function:
  • Name. Здесь можно указать название функции Lambda. Введите значение hello-world-python, которое будет использоваться в этом руководстве.
  • Description. Здесь можно ввести краткое описание функции. Это поле предварительно заполнено текстом A starter AWS Lambda Function .
  • Runtime. В настоящее время можно писать код функции Lambda на языке Java, Node.js и Python 2.7. Оставьте значение Python 2.7, которое мы будем использовать в качестве среды выполнения в этом руководстве.

Lambda function code.

  • В этом разделе можно просмотреть пример кода, написанного на языке Python.

Lambda function handler and role.

  • Handler. Можно указать обработчик (метод/функцию в вашем коде), с помощью которых AWS Lambda может начать выполнять код. AWS Lambda предоставляет данные события в качестве входных данных для этого обработчика, который обрабатывает событие. В этом примере AWS Lambda определяет обработчик из примера кода, поэтому это поле должно быть предварительно заполнено значением lambda_function.lambda_handler.
  • Role. Нажмите раскрывающееся меню и выберите значение Basic Execution Role.
create-lambda-function_13

(Щелкните, чтобы увеличить изображение.)

create-lambda-function_13

b. Вы создадите роль IAM (называемую также ролью выполнения) со всеми необходимыми разрешениями, которую AWS Lambda может взять на себя для выполнения функции Lambda от вашего имени. Нажмите кнопку Allow.

Вы вернетесь на страницу настройки функции, где будет выбрано значение lambda_basic_execution.

create-lambda-function_3

(Щелкните, чтобы увеличить изображение.)

create-lambda-function_3

c. В разделе Advanced settings можно указать параметры памяти, тайм-аута и VPC.  При использовании этого руководства оставьте значения по умолчанию для конфигурации функции Lambda и нажмите кнопку Next.

create-lambda-function_15

(Щелкните, чтобы увеличить изображение.)

create-lambda-function_15

d. Проверьте настройки функции Lambda и нажмите кнопку Create Function. Консоль сохранит код в файле, а затем заархивирует его в ZIP-файл, который является пакетом развертывания. После этого консоль загрузит пакет развертывания в AWS Lambda, создавая функцию Lambda.

create-lambda-function_5

(Щелкните, чтобы увеличить изображение.)

create-lambda-function_5

В консоли отображается функция Lambda hello-world-python; теперь можно протестировать работу функции, проверить результаты и просмотреть журналы.


a. Нажмите кнопку Test.

create-lambda-function_18

(Нажмите, чтобы увеличить)

create-lambda-function_18

b. Отобразится окно редактора, в котором можно будет ввести событие, позволяющее протестировать работу вашей функции.  

  • Выберите значение Hello World из раскрывающегося списка шаблонов примеров событий на странице «Input test event».
  • Можно изменить значения в примере JSON, но не изменяйте структуру события. При использовании этого руководства необходимо заменить значение value1 на hello, world!.

Нажмите кнопку Save and test. AWS Lambda выполнит функцию от вашего имени.

create-lambda-function_17

(Щелкните, чтобы увеличить изображение.)

create-lambda-function_17

c. После успешного выполнения просмотрите результаты в консоли.

  • В разделе Execution results подтверждается, что выполнение было успешным.
  • В разделе Summary отображается основная информация, приведенная в журнале.
  • В разделе Log output отображаются журналы, сгенерированные в процессе выполнения функции Lambda.
create-lambda-function_20

(Щелкните, чтобы увеличить изображение.)

create-lambda-function_20

AWS Lambda обеспечивает автоматический мониторинг функций Lambda и передачу метрик с помощью сервиса Amazon CloudWatch. Чтобы помочь вам отслеживать свой код в процессе выполнения, AWS Lambda автоматически отслеживает количество запросов, задержку для каждого запроса, а также количество запросов, приводящих к ошибке, и публикует связанные с ними метрики. 


a. Вызовите еще несколько раз функцию Lambda, повторно нажимая кнопку Test. Это приведет к созданию метрик, которые можно будет просмотреть на следующем шаге.

create-lambda-function_16

(Щелкните, чтобы увеличить изображение.)

create-lambda-function_16

b. Выберите вкладку Monitoring, чтобы просмотреть метрики для функции Lambda. Метрики Lambda передаются с помощью сервиса Amazon CloudWatch. Можно использовать эти метрики, чтобы настроить пользовательские предупреждения. Дополнительные сведения об Amazon CloudWatch см. в руководстве разработчика Amazon CloudWatch.

На вкладке «Monitoring» будут отображаться четыре метрики CloudWatch: количество вызовов, продолжительность вызовов, ошибки вызовов и пропущенные вызовы.

Используя сервис AWS Lambda, вы платите за то, что реально используете. После превышения ограничений, установленных уровнем бесплатного пользования AWS Lambda, будет взиматься плата в зависимости от количества поступивших запросов (количества вызовов) и времени выполнения вашего кода (продолжительности вызова). Дополнительные сведения см. на странице Цены на AWS Lambda.

create-lambda-function_7

(Щелкните, чтобы увеличить изображение.)

create-lambda-function_7

За хранение вашей функции Lambda не будет взиматься плата, но при желании вы можете легко удалить ее из консоли AWS Lambda.  


a. Раскройте меню Actions и выберите команду Delete Function.

create-lambda-function_6

(Щелкните, чтобы увеличить изображение.)

create-lambda-function_6

б. Будет предложено подтвердить завершение работы, выберите «Yes, Terminate».

create-lambda-function_12

(Щелкните, чтобы увеличить изображение.)

create-lambda-function_12

Вы создали свою первую функцию AWS Lambda. Это ваш первый шаг в изучении процедуры запуска приложений без необходимости выделения серверов или управления ими. AWS Lambda автоматически масштабирует приложения, запуская ваш код в ответ на каждое срабатывание, масштабируя его точно в соответствии с величиной ваших рабочих нагрузок.

Теперь, когда вы научились создавать функции Lambda, вы можете перейти к следующему руководству, из которого вы узнаете, как заставить функцию Lambda обрабатывать данные, загруженные в корзину Amazon S3. Вы будете использовать функцию Lambda для создания в режиме реального времени миниатюр изображений, загруженных в корзину S3.

Использование AWS Lambda с Amazon S3 »

Да
Нет