Skip to content

Latest commit

 

History

History
72 lines (47 loc) · 4.76 KB

README-RU.md

File metadata and controls

72 lines (47 loc) · 4.76 KB

Эталонная бессерверная архитектура: обработка потока в реальном времени

С помощью AWS Lambda и Amazon Kinesis вы можете в реальном времени обрабатывать потоковые данные для отслеживания работы приложения, обработки заказов, анализа посещаемости, очистки данных, создания метрик, фильтрации журналов, индексации, анализа социальных сетей и обработки данных телеметрии устройств IoT. Архитектуру, описанную на этой схеме, можно создать с помощью шаблона AWS CloudFormation.

Шаблон выполняет следующие действия:

  • создает поток Kinesis;

  • создает таблицу DynamoDB с именем <stackname>-EventData;

  • создает функцию Lambda 1 (<stackname>-DDBEventProcessor), которая получает записи из Kinesis и размещает их в таблице DynamoDB;

  • создает роль и политику IAM, чтобы позволить функции Lambda, обрабатывающей события, читать данные из потока Kinesis и записывать их в таблицу DynamoDB;

  • создает пользователя IAM с разрешением для добавления событий в поток Kinesis вместе с данными для доступа, которые будут использоваться в клиенте API.

Инструкции

Шаг 1. Создайте стек AWS CloudFormation с помощью шаблона. Этот шаблон AWS CloudFormation полностью автоматизирует создание, развертывание и настройку всех компонентов приложения.

Шаг 2. После успешного создания стека AWS CloudFormation вы можете открыть вкладку «Outputs» и просмотреть параметры AWS, необходимые для примера клиента Twitter, описанного далее.

Шаг 3. Для запуска примера приложения вам необходимо добавить в код данные AWS и Twitter. Откройте producer/twitter2kinesis.py в текстовом редакторе.

Шаг 4. Для доступа к Twitter API вам потребуются маркеры доступа. Убедитесь, что они у вас есть, и укажите значения для следующих параметров.

Параметры Twitter API

consumer_key = ""
consumer_secret = ""
access_token_key = ""
access_token_secret = ""

Шаг 5. Введите данные для доступа AWS и имя потока Amazon Kinesis. Это сведения с вкладки «Outputs» шаблона CloudFormation, которую вы открывали на шаге 2.

Параметры AWS – это сведения с вкладки «Outputs» шаблона CloudFormation.

access_key = ""
secret_access_key = ""
region = ""
stream_name = ""

Шаг 6. Наконец, перед запуском примера кода необходимо установить Python с модулями boto3 и TwitterAPI. Если у вас нет этих модулей, установите их с помощью pip:

pip install boto3 TwitterAPI

Тестирование

Client and Stream Processor Diagram

Шаг 1. Запустите Python-приложение producer/twitter2kinesis.py из командной строки, чтобы начать отправлять твиты в поток Kinesis.

python twitter2kinesis.py

Шаг 2. В консоли управления Amazon DynamoDB выберите таблицу <stackname>-EventData и просмотрите записи.

Очистка

Чтобы удалить все созданные ресурсы, удалите стек AWS CloudFormation.