Введение

AWS Kinesis — прекрасный инструмент для потоковой передачи, обработки и аналитики данных. Он состоит из четырех частей:

1. Kinesis Data Streams — потоковая передача данных в реальном времени (ответ AWS Apache Kafka).

2. Kinesis Video Streams — потоковая передача мультимедиа на AWS для воспроизведения, хранения и аналитики.

3. Kinesis Data Firehose — загружайте потоковые данные в озера данных или хранилища данных.

4. Kinesis Data Analytics — трансформируйте и анализируйте потоковые данные в режиме реального времени с помощью Apache Flink.

Существует два способа создания потока данных:

  1. Через консоль управления AWS kinesis
  2. Через саму библиотеку boto3

1: Через консоль управления AWS kinesis.

  • Нажмите «Создать поток данных».

В потоке данных Kinesis имя потока эквивалентно темам Kafka. Мы предоставляем имя для нашего потока данных. Затем мы указываем количество сегментов, необходимых для потока. Думайте о осколках как о жесткой верхней границе объема данных, которые могут быть отправлены через поток. Один осколок может принимать не более 1 МБ/с (1 мегабайт в секунду, дополнительная информация о преобразовании здесь) и может испускать до 2 МБ/с.

Это означает, что я могу писать в поток максимум 1 мегабайт в секунду (конвертация) или 1000 записей в секунду. Если я запишу больше этой суммы в этот поток, то это приведет к отклонению пут-вызова (записи данных в поток) с исключением ProvisionedThroughputExceeded Exception. Чтобы смягчить это, вы можете либо повторить, либо, если это временное увеличение, то повторные попытки сделают свое дело.

Как вы могли заметить, пропускная способность передачи в два раза превышает пропускную способность приема потока. Это означает, что два отдельных потребителя могут потреблять один сегмент.

Предоставляется удобный оценщик сегментов, который поможет вам получить расчетное количество сегментов, необходимых для потока.

  • После того, как вы заполнили все необходимые поля, нажмите «Создать поток данных», чтобы создать поток данных.

  • Вуаля! ваш поток успешно создан.

2: через библиотеку boto3

В этом примере мы будем использовать Python 3.8.

python3.8 -m venv kinesis_env
  • Установить библиотеку boto3
pip install boto3
  • Создайте, используя следующий фрагмент

РЕГИОН — это код вашего предпочтительного региона aws, в котором вы хотите создать поток kinesis.

ACCESS_KEY_ID и SECRET_ACCESS_KEY являются частью учетных данных, необходимых для программного подключения к aws.

  • Он вернет полезную нагрузку json с кодом статуса http вашего запроса.
{'ResponseMetadata': {'RequestId': 'a11b22c3-33d4-0184-b93e-dcwweya9r3gn',
  'HTTPStatusCode': 200,
  'HTTPHeaders': {'x-amzn-requestid': 'e19c88a0-00e8-0184-b93e-ca3d378db629',
   'x-amz-id-2': 'KBK9LavK5xNPmSVZg5uE3zmayLeHMBDkW3w5ZhCJfEFNw5SJ83DrDKPQ6ysHzmCGhFP8u2BfEAsBkR7WBLVQEswCE2xnR4Jm',
   'date': 'Sat, 13 Feb 2021 21:10:53 GMT',
   'content-type': 'application/x-amz-json-1.1',
   'content-length': '0'},
  'RetryAttempts': 0}}
  • Если код состояния равен 200, поток успешно создан. Вы можете видеть в консоли управления aws kinesis, что этот поток будет присутствовать.

Увидимся