Kafka ClickPipes でサポートされているレジストリ
- Confluent スキーマレジストリ
- Redpanda Schema Registry
設定
- スキーマの subject への完全なパスを指定します (例:
https://registry.example.com/subjects/events)- 必要に応じて、URL に
/versions/[version]を追加することで特定のバージョンを参照できます (追加しない場合、ClickPipes は最新バージョンを取得します) 。
- 必要に応じて、URL に
- スキーマ ID への完全なパスを指定します (例:
https://registry.example.com/schemas/ids/1000) - スキーマレジストリのルート URL を指定します (例:
https://registry.example.com)
ネットワーク接続
- スキーマレジストリの URL には
https://を使用する必要があります。 - レジストリのホスト名がプライベートアドレスに解決される場合は、ClickPipe 用に選択された reverse private endpoint 経由で到達可能である必要があります。そうでないと、Setup 中の接続チェックは失敗します。
仕組み
- メッセージにスキーマ ID が埋め込まれている場合は、それを使ってスキーマを取得します。
- メッセージにスキーマ ID が埋め込まれていない場合は、ClickPipe の設定で指定されたスキーマ ID または subject 名を使ってスキーマを取得します。
- メッセージに埋め込みのスキーマ ID がなく、かつ ClickPipe の設定でスキーマ ID も subject 名も指定されていない場合、スキーマは取得されず、ClickPipes のエラーテーブルに
SOURCE_SCHEMA_ERRORが記録され、そのメッセージはスキップされます。 - メッセージがスキーマに準拠していない場合、ClickPipes のエラーテーブルに
DATA_PARSING_ERRORが記録され、そのメッセージはスキップされます。 - Protobuf スキーマのみ: ClickPipes は、依存関係として定義された import 済みのスキーマを読み込みます。外部参照を含む Avro スキーマは、現時点ではサポートされていません。
スキーママッピング
- スキーマに、ClickHouse の宛先マッピングに含まれていないフィールドがある場合、そのフィールドは無視されます。
- スキーマに、ClickHouse の宛先マッピングで定義されているフィールドがない場合、ClickHouse のカラムには 0 や空文字列などの「ゼロ」値が設定されます。なお、
DEFAULT式はサポートされていません。 - スキーマのフィールドと ClickHouse のカラムに互換性がない場合、その行/メッセージの挿入は失敗し、その失敗は ClickPipes のエラーテーブルに記録されます。なお、いくつかの暗黙的な変換 (たとえば数値型同士) はサポートされていますが、すべてがサポートされるわけではありません (たとえば、Avro のレコードフィールドを
Int32の ClickHouse カラムに挿入することはできません) 。