aws-lambda учебник
Начало работы с aws-lambda
Поиск…
замечания
AWS Lambda - это серверная установка для выполнения функций в облаке. Он использует существующие технологии Amazon Web Services для бесконечного масштабирования и запускается только в случае необходимости в собственной изолированной среде. Используя Lambda, вы можете загрузить свой код, настроить его для запуска на основе множества триггеров, а затем автоматически прекратить процесс завершения работы. Он работает с моделью с оплатой за использование и чрезвычайно экономичен и прост в масштабировании.
AWS Lambda поддерживает код, написанный в Node.js (JavaScript), Python, Java (совместимый с Java 8) и C # (.NET Core). Ваш код может содержать существующие библиотеки, даже родные.
Триггеры могут включать:
Конечные точки HTTP
- Мобильные приложения
- Другие службы AWS (включая реализацию REST с шлюзом API Amazon)
Lambda лучше всего подходит для обработки безсерверных данных в режиме реального времени, таких как:
- Файловая обработка загрузок
- транскодирование
- индексирование
- Проверка
- Изменение размера и фильтрация
- Анализ потоковых данных
- телеметрия
- Запуск как основанный на методе мобильный и веб-сервер
- Расширение и подключение других продуктов AWS
Установка или настройка
Войдите в свою консоль AWS и нажмите « Лямбда» на вкладке « Службы ».
В разделе « Функции» вы можете создать функцию «Лямбда» с помощью кнопки с одинаковой меткой.
Вам будет показан экран, на котором вы можете выбрать чертеж. Это просто отправные точки для существующих функций лямбда для быстрого начала работы с Lambda.
На следующем экране вы можете настроить любые триггеры, которые вы хотите использовать, чтобы отключить эту функцию лямбда. Вы можете выбирать между триггерами (через ручную настройку позже в зависимости от вашей задачи), API Gateway (для создания безсерверного клиента REST), Alexa Skills или других других, чтобы сбить функцию, которую вы создадите.
Вы закончите настройку на следующем экране, установив « Имя» , « Описание» , выбрав « Время выполнения» , выбрав для редактирования встроенную функцию, загрузите ZIP-файл или загрузите файл с Amazon S3, выберите « Роль» (полезно для основанных на разрешениях взаимодействие между службами AWS), установить память и ограничения и подготовить приложение для использования вживую.
Наконец, вы просмотрите свою функцию и создадите ее. Поскольку Lambda использует модель Pay-Per-Use, зарядные устройства не возникают до тех пор, пока вы не начнете использовать вашу вновь созданную функцию.
Java AWS-Lambda S3 запущен
Функция AWS-Lambda может быть присоединена к определенному событию bucket. Всякий раз, когда файл или папка создается или удаляется, событие может запускать выполнение лямбда-функции.
Простая функция Lambda для печати имени загруженного файла
Это проект lambda одного класса для печати имени загруженного файла. Для maven нам нужно добавить эти зависимости:
<dependencies>
<dependency>
<groupId>com.amazonaws</groupId>
<artifactId>aws-lambda-java-core</artifactId>
<version>1.1.0</version>
<type>jar</type>
</dependency>
<dependency>
<groupId>com.amazonaws</groupId>
<artifactId>aws-lambda-java-events</artifactId>
<version>1.3.0</version>
<type>jar</type>
</dependency>
</dependencies>
Теперь перейдем к нашему классу HelloWorld:
package com;
import com.amazonaws.services.lambda.runtime.Context;
import com.amazonaws.services.lambda.runtime.RequestHandler;
import com.amazonaws.services.lambda.runtime.events.S3Event;
import com.amazonaws.services.s3.event.S3EventNotification;
public class HelloWorld implements RequestHandler< S3Event, String> {
@Override
public String handleRequest(S3Event event, Context ctx) {
S3EventNotification.S3EventNotificationRecord record=event.getRecords().get(0);
System.out.println("Bucket Name is "+record.getS3().getBucket().getName());
System.out.println("File Path is "+record.getS3().getObject().getKey());
return null;
}
}
Следующим шагом будет построение проекта с использованием mvn.
После создания проекта нам нужно загрузить его в AWS-Lambda. Перейдите в Lambda, выберите «создать функцию лямбда». Пропустите часть, где вы выбираете план, потому что Java обычно не существует.
Кроме того, пропустите «Настроить триггеры», потому что мы настроим его из другого места. На следующей странице введите имя для своей первой лямбда-функции, затем небольшое описание и выберите Java в качестве среды выполнения.
В поле «Тип ввода кода» выберите «Загрузить из файла .ZIP», а затем выберите его .zip-файл в следующем месте, чтобы загрузить его.
Трудная часть на этой странице - поле обработчика. В поле обработчика вы должны указать местоположение класса, реализующего RequestHandler. Этот класс является точкой входа для лямбда, и ваша функция Lambda не будет работать, если это не указано правильно. Для нашего обработчика событий «com.HelloWorld»
Присоединение триггера S3 к лямбда:
Здесь мы приложим триггер к загрузке файла S3
- Перейдите на S3, выберите ковш, затем «Свойства».
- В разделе «Свойства» перейдите к «События».
- Добавьте сведения о мероприятии. В поле «События» выберите, как вы хотите активировать Лямбду. Мы выберем «ObjectCreated (All)». Обратите внимание, что лямбда-функция и ведро должны находиться в одном и том же регионе амазонки
- Для «Отправляет», проверьте функцию Лямбда и выберите свою лямбда-функцию из списка.
Мониторинг Лямбда-выхода
Теперь мы загрузим файл в ведро с триггером лямбда. Чтобы увидеть выходы и журналы лямбда, перейдите в «CloudWatch», затем выберите «Журналы», затем выберите свою функцию лямбда. Вы можете увидеть много записей в разделе «Потоки журнала», выбрать последний и открыть его. Вы должны уметь видеть результат выполнения лямбды там.