Рубрики
Без рубрики

Как построить серверу сервера с использованием CAWS Chalice

Автор оригинала: Siben Nayak.

Недавно я встретился с чашами AWS и был очарован простотой и удобством использования его.

AWS Chalice – это неверная структура, которая позволяет строить серверу без сервеса, используя Python, и развернуть их на AWS, используя Gateway Amazon API и AWS Lambda.

Я решил сыграть с ним и на самом деле мог создать и развернуть образец API отдыха на AWS в течение нескольких минут.

В этой статье я прогуливаю вас через шаги, необходимые для создания и развертывания приложения без сервера, который получает последние новости от Google News, используя Чаша.

Предпосылки

Этот учебник требует учетной записи AWS. Если у вас их уже нет, продолжайте и Создать один Отказ Наше приложение собирается использовать только ресурсы свободных уровней, поэтому стоимость не должна быть проблемой.

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

Как настроить учетные данные AWS

Chalice использует интерфейс командной строки AWS (CLI) за кулисами для развертывания проекта. Если вы не использовали CLI AWS, прежде чем работать с ресурсами AWS, вы можете установить его, следуя рекомендациям здесь Отказ

После установки вам нужно Настроить . Ваш AWS CLI, чтобы использовать учетные данные из вашей учетной записи AWS.

Как установить чаша

Далее вам нужно установить Chalice. Мы будем использовать Python 3 в этом руководстве, но вы можете использовать любую версию Python, поддерживаемую AWS Lambda.

Проверьте установку Python

Установите Chalice

Проверьте установку Chalice

Как создать проект

Далее запустить Chalice New-Project Команда для создания нового проекта.

Это создаст Daily-News Папка в вашем текущем каталоге. Вы можете увидеть, что Chalice создал несколько файлов в этой папке. Мы будем работать с app.py и требования .txt Файлы только в этой статье.

Давайте посмотрим на содержание app.py файл:

Новый проект Команда создана образец приложения Daily-News Отказ Определяет один вид / Возвращает кузов JSON {«Привет»: «Мир»} когда вызывается. Теперь вы можете изменить этот шаблон и добавить больше кода, чтобы прочитать новости от Google.

Мы будем использовать RSS Google RSS, чтобы получить наши новости. Поскольку каналы RSS состоят из данных в формате XML, нам понадобится библиотека Python под названием красивый суп для анализа данных XML.

Вы можете установить красивый суп и его библиотеку анализа XML, используя Пип , как это:

Далее добавьте следующие импорт в app.py Отказ Это по существу добавляет импорт из Урлыб сделать HTTP звонки и BS4 разбирать XML.

Далее необходимо добавить метод, чтобы получить RSS-канал из Google. Мы будем использовать Урлыб Чтобы сделать HTTP Call на конечную точку Google RSS и получить ответ. Затем вы можете проанализировать ответ, чтобы извлечь название новостей и дату публикации и создать список новостей.

Для этого добавьте следующий код в свой app.py :

Обновите метод индекса в app.py Чтобы вызвать этот метод и вернуть список новостей в результате.

Обратите внимание, что вы установили несколько зависимостей, чтобы выполнить работу кода. Эти зависимости были установлены локально и не будут доступны для контейнера AWS LAMBDA во время выполнения.

Чтобы сделать их доступными для AWS Lambda, вам нужно будет упаковать их вместе с вашим кодом.

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

Как развернуть проект

Давайте разверним это приложение. От Daily-News Папка, запустите Чаша в развертывании команда.

Это развертывает ваш API на Gateway Amazon API и создает новую функцию на AWS Lambda.

Давайте попробуем доступ к API сейчас. Вы можете использовать Curl Чтобы вызвать URL-адрес шлюза API, который вы получили во время Чаша в развертывании Отказ Ответ вызова API вернет список новостей, как показано ниже.

Как очистить ресурсы

Вы также можете использовать Chalice Удалить Команда удалить все ресурсы, созданные при запуске Чаша в развертывании команда.

Заключение

Поздравляю! Вы просто развернули приложение без сердца на AWS, используя Chalice. Это было не слишком тяжело, это было?

Теперь вы можете пойти дальше и делать какие-либо модификации для вашего app.py Файл и Rerun Чаша в развертывании повторно развернуть ваши изменения.

Вы также можете использовать Chalice для интеграции вашего приложения без сервеса с Amazon S3, Amazon SNS, Amazon SQS и другими услугами AWS. Посмотрите на Учебники и продолжай изучать. Полный исходный код для этого руководства можно найти здесь Отказ

Спасибо, что остались со мной до сих пор. Надеюсь, вам понравилась статья. Вы можете подключиться со мной на LinkedIn Где я регулярно обсуждаю технологии и жизнь. Также посмотрите на некоторые другие статьи на Средний Отказ Счастливое чтение?