Yandex Cloud
Поиск
Связаться с намиПодключиться
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Популярные
    • Инфраструктура и сеть
    • Платформа данных
    • Контейнеры
    • Инструменты разработчика
    • Бессерверные вычисления
    • Безопасность
    • Мониторинг и управление ресурсами
    • Машинное обучение
    • Бизнес-инструменты
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Облако для интеграторов
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Контент-программа
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Истории успеха
    • Тарифы Yandex Cloud
    • Промоакции и free tier
    • Правила тарификации
  • Документация
  • Блог
Проект Яндекса
© 2025 ООО «Яндекс.Облако»
Yandex MetaData Hub
    • Обзор
    • Connection Manager
    • Hive Metastore
    • Schema Registry
  • Аудитные логи Audit Trails
  • Правила тарификации
  • Решение проблем
  • Публичные материалы
  • История изменений

В этой статье:

  • Создайте пространство имен
  • Загрузите схему в субъект
  • Что дальше
  1. Начало работы
  2. Schema Registry

Начало работы со Schema Registry

Статья создана
Yandex Cloud
Обновлена 14 апреля 2025 г.
  • Создайте пространство имен
  • Загрузите схему в субъект
  • Что дальше

Управляйте версиями схем со Schema Registry.

Примечание

Функциональность находится на стадии Preview.

Создайте пространство именСоздайте пространство имен

Консоль управления
  1. В консоли управления выберите каталог, в котором нужно создать подключение.
  2. Выберите сервис Yandex MetaData Hub.
  3. Hа панели слева выберите Schema Registry.
  4. Нажмите кнопку Создать пространство имён.
  5. В поле Имя задайте уникальное имя пространства имен.
  6. (Опционально) Добавьте описание пространства имен.
  7. В блоке Параметры совместимости:
    1. Задайте Уровень проверки совместимости
      • BACKWARD: (значение по умолчанию) потребители, использующие новую схему, могут читать данные, написанные производителями с использованием последней зарегистрированной схемы;
      • BACKWARD_TRANSITIVE: потребители, использующие новую схему, могут читать данные, записанные производителями с использованием всех ранее зарегистрированных схем;
      • FORWARD: потребители, использующие последнюю зарегистрированную схему, могут читать данные, написанные производителями, использующими новую схему;
      • FORWARD_TRANSITIVE: потребители, использующие все ранее зарегистрированные схемы, могут читать данные, написанные производителями с использованием новой схемы;
      • FULL: новая схема совместима вперед и назад с последней зарегистрированной схемой;
      • FULL_TRANSITIVE: новая схема совместима вперед и назад со всеми ранее зарегистрированными схемами;
      • NONE: проверки совместимости схемы отключены.
        Подробнее о типах совместимости схем см. в документации Confluent.
    2. Выберите политику проверки совместимости для JSON-схем:
      • optional-friendly — основывается на решении с использованием разных контентных моделей для производителя и потребителя. Поддерживает добавление и удаление опциональных параметров с сохранением полной транзитивной совместимости.
      • Confluent — основывается на стандартах Confluent Schema Registry и не обеспечивает полную совместимость при добавлении и удалении опциональных параметров.
    3. Выберите политику проверки совместимости для Protobuf-схем:
      • Confluent — основывается на стандартах Confluent Schema Registry.
      • buf — основывается на стандартах Buf.
  8. Нажмите кнопку Создать.

Загрузите схему в субъектЗагрузите схему в субъект

Консоль управления
API
  1. На панели слева выберите Схемы.
  2. Нажмите кнопку Загрузить схему.
  3. Выберите способ загрузки схемы в новый субъект и укажите следующие параметры:
    • Имя — уникальное имя субъекта;
    • Опционально добавьте Уровень проверки совместимости, если необходимо изменить уровень, наследуемый от пространства имен:
      • BACKWARD: (значение по умолчанию) потребители, использующие новую схему, могут читать данные, написанные производителями с использованием последней зарегистрированной схемы;
      • BACKWARD_TRANSITIVE: потребители, использующие новую схему, могут читать данные, записанные производителями с использованием всех ранее зарегистрированных схем;
      • FORWARD: потребители, использующие последнюю зарегистрированную схему, могут читать данные, написанные производителями, использующими новую схему;
      • FORWARD_TRANSITIVE: потребители, использующие все ранее зарегистрированные схемы, могут читать данные, написанные производителями с использованием новой схемы;
      • FULL: новая схема совместима вперед и назад с последней зарегистрированной схемой;
      • FULL_TRANSITIVE: новая схема совместима вперед и назад со всеми ранее зарегистрированными схемами;
      • NONE: проверки совместимости схемы отключены.
        Подробнее о типах совместимости схем см. в документации Confluent.
  4. Задайте формат данных Protobuf, Avro или JSON Schema и прикрепите файл.
  5. Если схема ссылается на другую схему, то в разделе Референсы нажмите и введите имя референса, имя субъекта, под которым зарегистрирована схема для ссылки, и версию схемы зарегистрированного субъекта.
  6. Чтобы применить нормализацию схемы данных, включите настройку Нормализация.
  7. Если вы хотите пропустить проверку совместимости схем, включите соответствующую настройку.
  8. Нажмите кнопку Загрузить схему.
  1. Установите cURL.

  2. Авторизуйтесь для выполнения операций в API.

  3. В настройках созданного пространства имен скопируйте его идентификатор.

  4. Воспользуйтесь методом API POST, чтобы загрузить и зарегистрировать схему для субъекта. Передайте в запросе:

    • schemaType — формат данных: PROTOBUF, AVRO или JSON. Если параметр schemaType не указан, по умолчанию используется AVRO.
    • schema.type — тип данных. Например, record.
    • schema.name — имя схемы, которая будет загружена в субъект.
    • schema.fields — поля схемы. Пример: [{\"name\": \"age\", \"type\": \"int\"}].
    • Идентификатор пространства имен.
    • Имя субъекта, в который будет загружена схема.

    Формат запроса:

    curl \
      --request POST \
      --header "accept: application/json" \
      --header "Authorization: <токен>" \
      --header "Content-Type: application/json" \
      --data '{
         "schemaType": "<формат данных>",
         "schema": '{
           \"type\": \"<тип данных>\", 
           \"name\": \"<имя_схемы>\", 
           \"fields\":[поля_схемы]}
          }' \
      https://<идентификатор_пространства_имен>.schema-registry.yandexcloud.net/subjects/<имя_субъекта>/versions
    

    В ответ на успешный запрос придет уникальный идентификатор схемы. Пример: {"id":1}.

    Примеры запросов см. в документации Confluent.

Что дальше {what-is-next}Что дальше

После создания пространства имен и регистрации схемы:

  1. Подключитесь к пространству имен.
  2. Добавляйте схемы в субъект.
  3. Сравнивайте версии схем.

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

Предыдущая
Hive Metastore
Следующая
Все инструкции
Проект Яндекса
© 2025 ООО «Яндекс.Облако»