Docs Menu
Docs Home
/
MongoDB Kafka Connector
/ /

JSON フォーマッタ

項目一覧

  • Overview
  • JSON フォーマッタ
  • 組み込みフォーマッタ
  • Default JSON Formatter
  • 拡張 JSON フォーマッタ
  • 簡易 JSON フォーマッタ

このガイドでは、MongoDB Kafka ソース コネクタで使用する組み込みの JSON 形式クラスを指定する方法を学習できます。

JSON フォーマットは JSON データの表示方法を指定します。 コネクタがデータを出力するときにさまざまなタイプを表す方法に関する指示を提供します。

次の表では、ソース コネクタで使用できるフォーマッタ クラスについて説明します。

クラス
説明
com.mongodb.kafka.connect.source.json.formatter.DefaultJson
レガシーの strict JSON 形式。
com.mongodb.kafka.connect.source.json.formatter.ExtendedJson
完全に型安全性のある拡張 JSON フォーマッタ。 このフォーマットは型の保存を重視し、ほとんどの値を BSON 型で表します。
com.mongodb.kafka.connect.source.json.formatter.SimplifiedJson
簡略化された JSON フォーマッタ。 このフォーマットは、 ObjectIdDecimalDateBinaryの値を string として表します。

次の表は、このガイドの例で各出力形式を示すために使用されるサンプル ドキュメントのフィールドについて説明しています。 列は、各フィールドまたはネストされたフィールドのフィールド名、値、およびタイプを説明します。

名前
タイプ
_id
"5f15aab12435743f9bd126a4"
ObjectID ($oid)
w
[ 12345.6789, 23.53 ]
Array of:
- Decimal128 ($numberDecimal)
- Double ($numberDouble)
x
"SSBsb3ZlIGZvcm1hdHRpbmch" of type "00"
Binary ($binary)
y
"2023-05-11T08:27:07.000Z"
Date ($date)
z
{ a: false, b: 87, c: "hello world" }
Document with fields:
- a: Boolean
- b: Int32 ($numberInt)
- c: String

ソース コネクタの 構成プロパティ で、次のプロパティを設定して、デフォルトの JSON 形式を指定します。

"output.json.formatter": "com.mongodb.kafka.connect.source.json.formatter.DefaultJson"

Kafka トピックからサンプル ドキュメントの内容を出力すると、出力には次の型表現が表示されます。

  • ObjectId 値( BSON type の値)

  • Decimal 値( BSON type の値)

  • Binary 値とそのバッファstringとバイナリ型

  • Date UNIXエポックからのミリ秒単位

{
"_id": {"$oid": "5f15aab12435743f9bd126a4"},
"w": [{"$numberDecimal": "12345.6789"}, 23.53],
"x": {"$binary": "SSBsb3ZlIGZvcm1hdHRpbmch", "$type": "00"},
"y": {"$date": 1683793627000},
"z": {"a": false, "b": 87, "c": "hello world"}
}

ソース コネクタの 構成プロパティ で、拡張 JSON 形式を指定するために次のプロパティを設定します。

"output.json.formatter": "com.mongodb.kafka.connect.source.json.formatter.ExtendedJson"

Kafka トピックからサンプル ドキュメントの内容を出力すると、出力には次の型表現が表示されます。

  • ObjectId 値( BSON type の値)

  • Decimal 値( BSON type の値)

  • Double 値( BSON type の値)

  • Binary 値とそのバッファstringとバイナリ型

  • Date UNIXエポックからのミリ秒単位

  • Int32 値( BSON type の値)

{
"_id": {"$oid": "5f15aab12435743f9bd126a4"},
"w": [{"$numberDecimal": "12345.6789"}, {"$numberDouble": "23.53"}],
"x": {"$binary": "SSBsb3ZlIGZvcm1hdHRpbmch", "$type": "00"},
"y": {"$date": 1683793627000},
"z": {"a": false, "b": {"$numberInt": "87"}, "c": "hello world"}
}

ソース コネクタの構成プロパティで、次のプロパティを設定して、簡略化された JSON 形式を指定します。

"output.json.formatter": "com.mongodb.kafka.connect.source.json.formatter.SimplifiedJson"

Kafka トピックからサンプル ドキュメントの内容を出力すると、出力には次の型表現が表示されます。

  • ObjectId 値を 16進数stringとして

  • Decimal string としての値

  • Binary バッファstringとしての値

  • Date string としての値

{
"_id": "5f15aab12435743f9bd126a4",
"w": ["12345.6789", 23.53],
"x": "SSBsb3ZlIGZvcm1hdHRpbmch",
"y": "2023-05-11T08:27:07Z",
"z": {"a": false, "b": 87, "c": "hello world"}
}

戻る

スキーマの適用