Experience Data Model(XDM) スキーマでは、フィールドのタイプによって、フィールドに格納できるデータの種類が制限されます。 このドキュメントでは、各コアフィールドタイプの概要を示します。マッピングできるその他のシリアル化形式や、異なる制約を実施するために API で独自のフィールドタイプを定義する方法も示します。
このガイドを使用する前に、 スキーマ構成の基本 XDM スキーマ、クラス、スキーマフィールドグループの紹介。
API で独自のフィールドタイプを定義する予定がある場合は、まず スキーマレジストリ開発者ガイド を参照して、カスタムフィールドを含めるフィールドグループとデータ型を作成する方法を確認してください。 Experience PlatformUI を使用してスキーマを作成する場合は、 UI でのフィールドの定義 を参照して、カスタムフィールドグループおよびデータ型内で定義するフィールドに制約を実装する方法を確認してください。
XDM は JSON スキーマの上に構築されているので、XDM フィールドの型を定義する際に、同様の構文を継承します。 JSON スキーマで異なるフィールドタイプがどのように表されるかを理解すると、各タイプの基本制約を示すのに役立ちます。
詳しくは、 API の基本事項ガイド を参照してください。
次の表に、各 XDM タイプが JSON スキーマで表される方法と、タイプに準拠する値の例を示します。
XDM タイプ | JSON スキーマ | 例 |
---|---|---|
文字列 |
{"type": "string"} |
"Platinum" |
数値 |
{"type": "number"} |
12925.49 |
Long |
{ "type": "integer", "maximum": 9007199254740991, "minimum": -9007199254740991 } |
1478108935 |
Integer |
{ "type": "integer", "maximum": 2147483648, "minimum": -2147483648 } |
24906290 |
Short |
{ "type": "integer", "maximum": 32768, "minimum": -32768 } |
15781 |
バイト |
{ "type": "integer", "maximum": 128, "minimum": -128 } |
90 |
日付 * |
{ "type": "string", "format": "date" } |
"2019-05-15" |
DateTime* |
{ "type": "string", "format": "date-time" } |
"2019-05-15T20:20:39+00:00" |
Boolean |
{"type": "string"} |
true |
*すべての日付形式の文字列は、ISO 8601 標準 (RFC 3339、セクション 5.6) をクリックします。
以下の節では、各 XDM タイプを他の一般的なシリアル化形式にどのようにマッピングするかを説明します。
次の表に示す標準 XDM タイプの中で、 マップ タイプも含まれます。 マップは、特定の値にマッピングされるキーとしてデータが表される場合、またはキーを静的スキーマに合理的に含めることができないので、データ値として処理する必要がある場合に、標準スキーマで使用されます。
多くの標準 XDM コンポーネントはマップタイプを使用します。また、 カスタムマップフィールドの定義 必要に応じて。 以下の表に含まれるマップタイプの組み込みは、既存のデータが以下に示す形式のいずれかで格納されている場合に、そのデータを XDM にマッピングする方法を判断するのに役立つように作成されています。
XDM タイプ | PARQUET | Spark SQL | Java |
---|---|---|---|
文字列 | タイプ: BYTE_ARRAY 注釈: UTF8 |
StringType |
java.lang.String |
数値 | 型:DOUBLE |
LongType |
java.lang.Double |
Long | 型:INT64 |
LongType |
java.lang.Long |
整数 | タイプ: INT32 注釈: INT_32 |
IntegerType |
java.lang.Integer |
Short | タイプ: INT32 注釈: INT_16 |
ShortType |
java.lang.Short |
Byte | タイプ: INT32 注釈: INT_8 |
ByteType |
java.lang.Short |
日付 | タイプ: INT32 注釈: DATE |
DateType |
java.util.Date |
日時 | タイプ: INT64 注釈: TIMESTAMP_MILLIS |
TimestampType |
java.util.Date |
ブール値 | 型:BOOLEAN |
BooleanType |
java.lang.Boolean |
マップ | MAP 注釈付きグループ( <key-type> は、 STRING ) |
MapType ( keyType は、 StringType ) |
java.util.Map |
XDM タイプ | Scala | .NET | CosmosDB |
---|---|---|---|
文字列 | String |
System.String |
String |
数値 | Double |
System.Double |
Number |
Long | Long |
System.Int64 |
Number |
整数 | Int |
System.Int32 |
Number |
Short | Short |
System.Int16 |
Number |
Byte | Byte |
System.SByte |
Number |
日付 | java.util.Date |
System.DateTime |
String |
日時 | java.util.Date |
System.DateTime |
String |
ブール値 | Boolean |
System.Boolean |
Boolean |
マップ | Map |
(N/A) | object |
XDM タイプ | MongoDB | Aerospike | Protobuf 2 |
---|---|---|---|
文字列 | string |
String |
string |
数値 | double |
Double |
double |
Long | long |
Integer |
int64 |
整数 | int |
Integer |
int32 |
Short | int |
Integer |
int32 |
Byte | int |
Integer |
int32 |
日付 | date |
Integer (Unix ミリ秒) |
int64 (Unix ミリ秒) |
日時 | timestamp |
Integer (Unix ミリ秒) |
int64 (Unix ミリ秒) |
ブール値 | bool |
Integer (0/1 バイナリ) |
bool |
マップ | object |
map |
map<key_type, value_type> |
スキーマレジストリ API を使用すると、形式とオプションの制約を使用してカスタムフィールドを定義できます。 次のガイドを参照してください: スキーマレジストリ API でのカスタムフィールドの定義 を参照してください。