XDM フィールドタイプ制約

Experience Data Model(XDM) スキーマでは、フィールドのタイプによって、フィールドに格納できるデータの種類が制限されます。 このドキュメントでは、各コアフィールドタイプの概要を示します。マッピングできるその他のシリアル化形式や、異なる制約を実施するために API で独自のフィールドタイプを定義する方法も示します。

はじめに

このガイドを使用する前に、 スキーマ構成の基本 XDM スキーマ、クラス、スキーマフィールドグループの紹介。

API で独自のフィールドタイプを定義する予定がある場合は、まず スキーマレジストリ開発者ガイド を参照して、カスタムフィールドを含めるフィールドグループとデータ型を作成する方法を確認してください。 Experience PlatformUI を使用してスキーマを作成する場合は、 UI でのフィールドの定義 を参照して、カスタムフィールドグループおよびデータ型内で定義するフィールドに制約を実装する方法を確認してください。

基本構造と例 basic-types

XDM は JSON スキーマの上に構築されているので、XDM フィールドの型を定義する際に、同様の構文を継承します。 JSON スキーマで異なるフィールドタイプがどのように表されるかを理解すると、各タイプの基本制約を示すのに役立ちます。

NOTE
詳しくは、 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 タイプを他の一般的なシリアル化形式にどのようにマッピングするかを説明します。

NOTE
次の表に示す標準 XDM タイプの中で、 マップ タイプも含まれます。 マップは、特定の値にマッピングされるキーとしてデータが表される場合、またはキーを静的スキーマに合理的に含めることができないので、データ値として処理する必要がある場合に、標準スキーマで使用されます。
多くの標準 XDM コンポーネントはマップタイプを使用します。また、 カスタムマップフィールドの定義 必要に応じて。 以下の表に含まれるマップタイプの組み込みは、既存のデータが以下に示す形式のいずれかで格納されている場合に、そのデータを XDM にマッピングする方法を判断するのに役立つように作成されています。

Parquet、Spark SQL、Java parquet

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

Scala、.NET、CosmosDB scala

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

MongoDB、Aerospike、および Protobuf 2 mongo

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 での XDM フィールドタイプの定義 define-fields

スキーマレジストリ API を使用すると、形式とオプションの制約を使用してカスタムフィールドを定義できます。 次のガイドを参照してください: スキーマレジストリ API でのカスタムフィールドの定義 を参照してください。

recommendation-more-help
62e9ffd9-1c74-4cef-8f47-0d00af32fc07