5.2.4. Debezium SQL Server コネクターによるスキーマ変更トピックの使用方法
Debezium SQL Server コネクターは、CDC が有効になっている各テーブルに対して、データベース履歴トピックにスキーマ変更の履歴を保存します。このトピックは内部コネクターの状態を反映するため、直接使用しないでください。アプリケーションがスキーマの変更に関する通知を必要とする場合は、パブリックスキーマの変更トピックから情報を取得する必要があります。コネクターは、これらのイベントをすべて <serverName> という名前の Kafka トピックに書き込みます。serverName は database.server.name 設定プロパティーに指定されたコネクターの名前になります。
コネクターがスキーマ変更トピックに出力するメッセージの形式は、初期の状態であり、通知なしに変更される可能性があります。
Debezium は、以下のイベントの発生時にスキーマ変更トピックにメッセージを出力します。
- テーブルの CDC を有効にします。
- テーブルの CDC を無効にします。
- スキーマの進化手順 に従って、CDC が有効になっているテーブルの構造を変更します。
スキーマ変更トピックへのメッセージには、テーブルスキーマの論理表現が含まれます。以下に例を示します。
| 項目 | フィールド名 | 説明 |
|---|---|---|
| 1 |
| 変更が含まれるデータベースとスキーマを識別します。 |
| 2 |
|
SQL Server コネクターの場合は常に |
| 3 |
| DDL コマンドによって生成されるスキーマの変更が含まれる 1 つ以上の項目の配列。 |
| 4 |
| 変更の種類を説明します。値は以下のいずれかになります。
|
| 5 |
| 作成、変更、または破棄されたテーブルの完全な識別子。 |
| 6 |
| 適用された変更後のテーブルメタデータを表します。 |
| 7 |
| テーブルのプライマリーキーを設定する列のリスト。 |
| 8 |
| 変更されたテーブルの各列のメタデータ。 |
コネクターがスキーマ変更トピックに送信するメッセージでは、キーはスキーマの変更が含まれるデータベースの名前です。以下の例では、payload フィールドにキーが含まれます。