Yandex Cloud
  • Сервисы
  • Решения
  • Почему Yandex Cloud
  • Сообщество
  • Тарифы
  • Документация
  • Связаться с нами
Подключиться
Language / Region
Проект Яндекса
© 2023 ООО «Яндекс.Облако»
Практические руководства
  • Веб-сервис
  • Интернет-магазины
  • Хранение и восстановление данных
  • Для разработчиков
  • Тестовая среда
  • Управление инфраструктурой
  • Построение Data Platform
  • Продукты Microsoft в Yandex Cloud
  • Сетевая инфраструктура
  • Визуализация и анализ данных
  • Интернет вещей
  • Бессерверные технологии
    • Сокращатель ссылок
    • Ввод данных в системы хранения
    • Хранение журналов работы приложения
    • Развертывание веб-приложения с использованием Java Servlet API
    • Разработка Slack-бота
    • Разработка Telegram-бота
    • Разработка пользовательской интеграции в API Gateway
    • Разработка CRUD API для сервиса фильмов
    • Разработка навыка Алисы и сайта с авторизацией
    • Построение пайплайна CI/CD в GitLab
    • Создание интерактивного serverless-приложения с использованием WebSocket
  1. Бессерверные технологии
  2. Ввод данных в системы хранения

Ввод данных в системы хранения

Статья создана
Yandex Cloud
  • Подготовьте облако к работе
    • Необходимые платные ресурсы
  • Настройте окружение
  • Создайте кластер ClickHouse
  • Создайте поток данных
  • Создайте API-шлюз
  • Создайте трансфер
  • Проверьте отправку и получение данных
  • Как удалить созданные ресурсы

Данные от мобильных телефонов, разнообразных умных устройств или внешних сервисов могут поступать небольшими пакетами, количество пакетов может быть очень велико. Часто для передачи используются медленные каналы связи, а время связи ограничено. Yandex Data Streams принимает поступающие с высокой частотой и скоростью данные, формирует пакеты для отправки в принимающие системы, обеспечивая оптимальные режимы работы для источников и приемников. Использование API-шлюза для приема сообщений позволяет реализовать собственный протокол передачи данных.

В этом сценарии API-шлюз принимает входящие данные и отправляет их в поток данных. В потоке данные буферизируются и передаются с помощью трансфера в кластер баз данных ClickHouse.

Чтобы настроить ввод данных:

  1. Подготовьте облако к работе.
  2. Настройте окружение.
  3. Создайте кластер ClickHouse.
  4. Создайте поток данных.
  5. Создайте API-шлюз.
  6. Создайте трансфер.
  7. Проверьте отправку и получение данных.

Если ввод данных вам больше не нужен, удалите используемые им ресурсы.

Подготовьте облако к работе

Зарегистрируйтесь в Yandex Cloud и создайте платежный аккаунт:

  1. Перейдите в консоль управления, затем войдите в Yandex Cloud или зарегистрируйтесь, если вы еще не зарегистрированы.
  2. На странице биллинга убедитесь, что у вас подключен платежный аккаунт, и он находится в статусе ACTIVE или TRIAL_ACTIVE. Если платежного аккаунта нет, создайте его.

Если у вас есть активный платежный аккаунт, вы можете создать или выбрать каталог, в котором будет работать ваша инфраструктура, на странице облака.

Подробнее об облаках и каталогах.

Необходимые платные ресурсы

В стоимость поддержки ввода данных в системы хранения входит:

  • плата за запросы к API-шлюзу (см. тарифы Yandex API Gateway);
  • плата за обслуживание потока данных (см. тарифы Yandex Data Streams);
  • плата за перенос данных между источниками и приемниками (см. тарифы Yandex Data Transfer);
  • плата за постоянно запущенный кластер Managed Service for ClickHouse (см. тарифы Managed Service for ClickHouse).

Настройте окружение

Создайте сервисный аккаунт и назначьте ему роль editor на ваш каталог.

Создайте кластер ClickHouse

  1. В консоли управления выберите каталог, в котором нужно создать кластер БД.
  2. Выберите сервис Managed Service for ClickHouse.
  3. Нажмите кнопку Создать кластер.
  4. Укажите настройки кластера ClickHouse:
    1. В блоке Базовые параметры:
    • Введите имя кластера.
    • Выберите созданный ранее сервисный аккаунт.
    1. В блоке База данных укажите имя БД, имя пользователя и пароль.
    2. В блоке Хосты нажмите значок . Включите опцию Публичный доступ и нажмите кнопку Сохранить.
    3. В блоке Дополнительные настройки включите опции:
    • Доступ из Data Transfer.
    • Доступ из консоли управления.
    1. Задайте остальные параметры кластера по инструкции.
  5. Нажмите кнопку Создать кластер.

Дождитесь запуска кластера. Когда кластер будет готов к использованию, его состояние изменится на Alive.

Создайте поток данных

  1. В консоли управления выберите каталог, в котором хотите создать поток данных.
  2. Выберите сервис Data Streams.
  3. Нажмите кнопку Создать поток.
  4. Укажите существующую бессерверную базу данных YDB или создайте новую. Если вы создали новую базу данных, после ее создания нажмите кнопку Обновить для обновления списка баз.
  5. Введите имя потока данных.
  6. Нажмите кнопку Создать.

Дождитесь запуска потока данных. Когда поток будет готов к использованию, его статус изменится с CREATING на ACTIVE.

Создайте API-шлюз

  1. На странице созданного потока данных нажмите кнопку Действия и выберите API Gateway.

  2. Введите имя API-шлюза.

  3. В поле Спецификация замените значение ключа service_account_id идентификатором созданного ранее сервисного аккаунта.

    Сохраните значения полей Имя и Служебный домен, они понадобятся на следующих шагах.

  4. Нажмите кнопку Создать.

Дождитесь запуска API-шлюза. Когда API-шлюз будет готов к использованию, его статус изменится с CREATING на ACTIVE.

Создайте трансфер

  1. В консоли управления выберите каталог, в котором нужно создать трансфер.
  2. Выберите сервис Yandex Data Transfer.
  3. Нажмите кнопку Создать трансфер данных.
  4. Введите имя трансфера.
  5. Создайте эндпоинт-источник:
    1. В строке Источник нажмите кнопку Создать новый.
    2. Укажите имя эндпоинта.
    3. В списке Тип базы данных выберите Yandex Data Streams.
    4. Выберите базу данных для источника.
    5. Введите имя созданного ранее потока данных.
    6. Выберите созданный ранее сервисный аккаунт.
    7. Нажмите кнопку Создать.
  6. Создайте эндпоинт-приемник:
    1. В строке Приемник нажмите кнопку Создать новый.
    2. Укажите имя эндпоинта.
    3. В списке Тип базы данных выберите ClickHouse.
    4. Выберите созданный ранее MDB кластер.
    5. Введите имя БД, имя пользователя и пароль созданного ранее кластера.
    6. Нажмите кнопку Создать.
  7. Нажмите кнопку Создать.
  8. Нажмите на значок рядом с именем созданного трансфера и выберите Активировать.

Дождитесь активации трансфера. Когда трансфер будет готов к использованию, его статус сменится с Создается на Реплицируется.

Проверьте отправку и получение данных

  1. Отправьте данные в систему хранения:

    curl -X POST -d 'test massage' https://<url>/<paths>
    

    Где:

    • <url> — сохраненное ранее значение Служебный домен API-шлюза;
    • <paths> — сохраненное ранее значение Имя API-шлюза.
  2. В консоли управления выберите созданный ранее кластер Managed Service for ClickHouse.

  3. На панели слева выберите SQL.

  4. Введите имя пользователя и пароль и нажмите кнопку Подключиться.

  5. В списке выберите созданную ранее базу данных.

  6. Выберите таблицу БД.

Если настройка выполнена успешно, в таблице появится запись, содержащая служебные данные и отправленное сообщение.

Как удалить созданные ресурсы

Чтобы перестать платить за используемые ресурсы:

  1. Удалите API-шлюз.
  2. Удалите трансфер.
  3. Удалите эндпоинты.
  4. Удалите поток данных.
  5. Удалите кластер ClickHouse.

Была ли статья полезна?

Language / Region
Проект Яндекса
© 2023 ООО «Яндекс.Облако»
В этой статье:
  • Подготовьте облако к работе
  • Необходимые платные ресурсы
  • Настройте окружение
  • Создайте кластер ClickHouse
  • Создайте поток данных
  • Создайте API-шлюз
  • Создайте трансфер
  • Проверьте отправку и получение данных
  • Как удалить созданные ресурсы