> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-detect-table-modification.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> Как интегрировать ClickPipes с реестром схем для управления схемами.

# Реестры схем для Kafka ClickPipe

ClickPipes поддерживает интеграцию с реестром схем для декодирования топиков в форматах Avro и Protobuf.

<div id="supported-schema-registries">
  ## Поддерживаемые реестры схем для Kafka ClickPipes
</div>

Поддерживаются реестры схем, совместимые с API Confluent Schema Registry. К ним относятся:

* Confluent Schema Registry
* Redpanda Schema Registry

ClickPipes пока не поддерживает AWS Glue Schema Registry и Azure Schema Registry. Если вам нужна поддержка этих реестров схем, [обратитесь к нашей команде](https://clickhouse.com/company/contact?loc=clickpipes).

<div id="schema-registry-configuration">
  ## Конфигурация
</div>

Чтобы интегрироваться с реестром схем при настройке ClickPipes, необходимо использовать один из следующих способов:

1. Укажите полный путь к subject схемы (например, `https://registry.example.com/subjects/events`)
   * При необходимости можно указать конкретную версию, добавив `/versions/[version]` к URL (в противном случае ClickPipes получит последнюю версию).
2. Укажите полный путь к ID схемы (например, `https://registry.example.com/schemas/ids/1000`)
3. Укажите корневой URL реестра схем (например, `https://registry.example.com`)

<div id="network-connectivity">
  ## Сетевое подключение
</div>

ClickPipes подключается к реестру схем по HTTPS, используя указанный вами URL. Реестр схем не обязательно должен быть общедоступным.

Если доступ к вашим брокерам Kafka осуществляется через [обратную частную конечную точку](/ru/integrations/clickpipes/aws-privatelink) (AWS PrivateLink или GCP Private Service Connect), реестр схем может использовать то же частное подключение. ClickPipes разрешает имя хоста реестра через private DNS обратной частной конечной точки, поэтому реестр, размещённый в частной сети рядом с вашими брокерами, будет доступен, если его имя хоста разрешается в частные IP-адреса обратной частной конечной точки (через поддержку private DNS этой конечной точки или через пользовательское сопоставление private DNS).

Имейте в виду следующее:

* URL реестра схем должен использовать `https://`.
* Если имя хоста реестра разрешается в частный адрес, он должен быть доступен через обратную частную конечную точку, выбранную для ClickPipe; в противном случае проверка подключения на этапе настройки завершится ошибкой.

<div id="how-schema-registries-work">
  ## Как это работает
</div>

ClickPipes динамически получает и применяет схему из настроенного реестра схем.

* Если в сообщении есть встроенный ID схемы, он будет использован для получения схемы.
* Если в сообщении нет встроенного ID схемы, для получения схемы будет использован ID схемы или имя subject, указанные в конфигурации ClickPipe.
* Если сообщение записано без встроенного ID схемы и в конфигурации ClickPipe не указан ни ID схемы, ни имя subject, схема не будет получена, а сообщение будет пропущено; в таблицу ошибок ClickPipes будет записана ошибка `SOURCE_SCHEMA_ERROR`.
* Если сообщение не соответствует схеме, оно будет пропущено; в таблицу ошибок ClickPipes будет записана ошибка `DATA_PARSING_ERROR`.
* Только для схем Protobuf: ClickPipes загрузит все импортированные схемы, указанные как зависимости. Схемы Avro с внешними ссылками пока не поддерживаются.

<div id="schema-mapping">
  ## Сопоставление схемы
</div>

К сопоставлению между полученной схемой и целевой таблицей ClickHouse применяются следующие правила:

* Если схема содержит поле, которое отсутствует в сопоставлении с целевой таблицей ClickHouse, это поле игнорируется.
* Если в схеме отсутствует поле, определённое в сопоставлении с целевой таблицей ClickHouse, соответствующий столбец ClickHouse будет заполнен "нулевым" значением, например 0 или пустой строкой. Обратите внимание, что выражения `DEFAULT` не поддерживаются.
* Если поле схемы и столбец ClickHouse несовместимы, вставка этой строки/сообщения завершится ошибкой, и ошибка будет записана в таблицу ошибок ClickPipes. Обратите внимание, что поддерживаются некоторые неявные преобразования (например, между числовыми типами), но не все (например, поле записи Avro нельзя вставить в столбец ClickHouse типа `Int32`).
