重要

このページの日本語コンテンツは古くなっている可能性があります。最新の英語版コンテンツをご覧になるには、こちらをクリックしてください。

SetSchemaMetadata

ここでは、Apache Kafka® SMT org.apache.kafka.connect.transforms.SetSchemaMetadata の使用方法を説明します。

説明

レコードのキー(org.apache.kafka.connect.transforms.SetSchemaMetadata$Key)または値(org.apache.kafka.connect.transforms.SetSchemaMetadata$Value)のスキーマに、スキーマの名前とバージョンのどちらか、またはその両方を設定します。

この SMT を使用すると、Connect レコードに対して、スキーマの名前とバージョンのどちらか、またはその両方を設定できます。スキーマ名には名前空間が含まれるため、SetSchemaMetadata SMT の一般的なユースケースとしては、Apache Kafka® レコードのキーおよび値で使用されるスキーマの名前および名前空間の変更があります。

ユースケース:

"ソースコネクター" は、コネクターで定義されたスキーマを使用してレコードを生成し、多くの場合、ソース固有の情報をもとにキーと値のスキーマの名前とバージョンを生成します。たとえば、データベースソースコネクターでは、行の読み取り元のテーブルの名前がスキーマ名に使用される場合があります。このように生成されるスキーマ名が順守すべき命名規則に従っていない場合は、この SMT を使用して、ソースコネクターで生成されたソースレコードのキーや値のスキーマに対して生成された名前をオーバーライドすることができます。

Kafka トピックのレコードを消費するシンクコネクターでは、コネクターで Kafka レコードを外部システムにマッピングする方法を示すためにスキーマの名前が使用される場合があります。レコードのキーおよび値で使用されるスキーマの名前では、適切なマッピングが得られない場合は、この SMT を使用して、シンクコネクターでレコードが処理される前に、消費されるソースレコードのキーや値のスキーマの名前を変更することができます。

Examples

The following examples show how to configure and use SetSchemaMetadata.

Set a schema name and version

This configuration snippet shows how to set a schema name and version.

"transforms": "SetSchemaMetadata",
"transforms.SetSchemaMetadata.type": "org.apache.kafka.connect.transforms.SetSchemaMetadata$Value",
"transforms.SetSchemaMetadata.schema.name": "order-value"
"transforms.SetSchemaMetadata.schema.version": "2"

The transform sets the schema name to order-value version 2

Set a namespace and schema name

This configuration snippet shows how to set a namespace and schema name.

"transforms" : "AddNamespace",
"transforms.AddNamespace.type" : "org.apache.kafka.connect.transforms.SetSchemaMetadata$Value",
"transforms.AddNamespace.schema.name" : "my.namespace.order-value"

The transform sets the namespace to my.namespace and schema name to order-value. For another example of setting the schema namespace, see Example 3: JDBC source connector with GenericAvro.

ちなみに

For additonal examples, see Set Schema Metadata for managed connectors.

プロパティ

名前 説明 デフォルト 指定可能な値 重要度
schema.name 設定するスキーマ名。 string null  
schema.version 設定するスキーマのバージョン。 int null  

述語

"述語" を使用することにより、一定の条件を満たすレコードのみに変換が適用されるように、変換を構成することができます。述語は変換チェーンで使用することができ、Filter(Apache Kafka) と組み合わせると、条件に基づいて特定のレコードを除外できます。詳細と例については、「述語」を参照してください。