TimestampRouter¶
ここでは、Kafka SMT org.apache.kafka.connect.transforms.TimestampRouter
の使用方法を説明します。
説明¶
元のトピックの値とレコードのタイムスタンプに応じて、レコードのトピックフィールドを更新します。
トピックフィールドにより、送信先システムでの対応するエンティティ名(データベーステーブルや検索インデックス名など)が決まることが多いため、この変換はシンクコネクターで役立ちます。指定したメッセージフィールドからタイムスタンプを抽出する方法については、「MessageTimestampRouter」を参照してください。
例¶
この構成スニペットは、TimestampRouter
を使用して、メッセージをトピックにルーティングし、フォーマットされたタイムスタンプを含める方法を示しています。
"transforms": "TimestampRouter",
"transforms.TimestampRouter.type": "org.apache.kafka.connect.transforms.TimestampRouter",
"transforms.TimestampRouter.topic.format": "foo-${topic}-${timestamp}",
"transforms.TimestampRouter.timestamp.format": "YYYYMM"
変換前: ordersTopic
変換後: foo-ordersTopic-201804
ちなみに
その他の例については、マネージド型コネクターの Timestamp Router を参照してください。
特徴¶
Name | 説明 | 型 | デフォルト | 指定可能な値 | 重要度 |
---|---|---|---|---|---|
timestamp.format |
java.text.SimpleDateFormat と互換性のある、タイムスタンプのフォーマット文字列。詳細については、「SimpleDateFormat」を参照してください。 |
string | yyyyMMdd | 高 | |
topic.format |
フォーマット文字列。${topic} と ${timestamp} を、それぞれトピックおよびタイムスタンプのプレースホルダーとして使用できます。 |
string | ${topic}-${timestamp} |
高 |
述語¶
"述語" を使用することにより、一定の条件を満たすレコードのみに変換が適用されるように、変換を構成することができます。述語は変換チェーンで使用することができ、Filter(Apache Kafka) と組み合わせると、条件に基づいて特定のレコードを除外できます。詳細と例については、「述語」を参照してください。