Автор оригинала: Dushyant Rathore.
Что такое бессерверное приложение?
Проще говоря, бессерверное приложение-это приложение, размещенное сторонней службой, что устраняет необходимость в управлении серверным программным и аппаратным обеспечением разработчиком. Приложения разбиты на отдельные функции, которые можно вызывать и масштабировать по отдельности. Бессерверное приложение работает в вычислительных контейнерах без состояния, которые полностью управляются облачным поставщиком.
Что такое AWS Lambda?
Это управляемая событиями, бессерверная вычислительная платформа, предоставляемая как часть веб-служб Amazon. Это вычислительная служба, которая запускает код в ответ на события и автоматически управляет вычислительными ресурсами, необходимыми для этого кода. Функции AWS lambda обслуживают широкий спектр приложений и могут быть интегрированы с другими веб-сервисами Amazon, такими как S3, SQS, RDS, SNS и т.д.
Чаша AWS
AWS Chalice-это микрорамка для написания бессерверных приложений на python. Он позволяет создавать и развертывать приложения, использующие AWS Lambda. Он обеспечивает:
- Инструмент командной строки для создания, развертывания и управления вашим приложением. Декоратор на основе
- API для интеграции с Amazon API Gateway, Amazon S3, Amazon SNS, Amazon SQS и другими сервисами AWS. Автоматическое формирование политики
- IAM (Управление доступом к удостоверениям).
Сообщение состоит из следующих шагов:-
- Настройка учетной записи на AWS.
- Создание корзины S3.
- Кодирование приложения и развертывания Чаши.
- Тестирование лямбда-функции.
Теперь мы глубоко погрузимся в шаги:-
Шаг 1 – Настройка учетной записи на AWS
Зарегистрируйтесь на Amazon Web Services .
Примечание: Для регистрации AWS требуется кредитная карта, но наш пример будет полностью существовать на бесплатном уровне AWS, поэтому с вас не будет взиматься плата.
Шаг 2 – Создание корзины S3
Этот шаг состоит из следующих шагов:
Выберите опцию S3 в разделе Хранение .
S3 в разделе Хранение
Выберите опцию Создать ведро . Выберите опцию Создать ведро . Укажите имя
Шаг 3 – Кодирование приложения и развертывание Чаши
Как только мы закончим с Шагами 1 и 2 , нам нужно выполнить следующие подэтапы в рамках Шага 3 :-
- Во-первых, нам нужно установить Chalice и boto3, используя следующие команды в pip.
pip install chalice
pip install boto3
- После установки Chalice и boto3 создайте новый проект Chalice и получите к нему доступ с помощью следующих команд.
chalice new-project sampleproject && cd sampleproject
Здесь мы используемsampleproject
в качестве имени нашего проекта. - Как только мы окажемся в каталоге
пример проекта
, напишите следующий код вapp.py
файл.
# Import the neccessary Python Packages from chalice import Chalice import boto3 app = Chalice(app_name="") # Lambda Function Name app.debug = True #Set the debug mode s3 = boto3.client("s3") # Initialise the S3 client # Create the invocation for the Lambda function on S3 object creation event @app.on_s3_event(bucket=" ", events=["s3:ObjectCreated:*"]) def handler(event): print("Object uploaded for bucket: %s, key: %s" % (event.bucket, event.key)) print("Lamba triggered due to S3 event") app.log.debug("Lambda function triggered due to S3 event")
- После этого разверните приложение chalice из каталога, используя следующую команду.
развертывание чаши
Вы должны получить вывод, аналогичный следующему, который показывает, что приложение было успешно развернуто и соответствующая лямбда-функция была создана.
Шаг 4 – Тестирование лямбда-функции
После успешного развертывания приложения Chalice загрузите объект в корзину S3 из консоли AWS с помощью параметра upload . Выберите файл для загрузки и нажмите на опцию Далее в последующих виджетах .
upload . Выберите файл для загрузки и нажмите на опцию Далее в последующих виджетах
После загрузки объекта выберите параметр Lambda в разделе Компьютер в Консоли управления AWS.
Lambda в разделе Компьютер в Консоли управления AWS. Выберите
Наконец, мы развернули нашу первую бессерверную функцию AWS Lambda с использованием Chalice и Python .
Не стесняйтесь предлагать изменения и указывать на ошибки.
Для получения дополнительной информации об интересных проектах и взломах следуйте за мной по адресу https://github.com/dushyantRathore .
Надеюсь, вы нашли это полезным