Begrenzungen für XDM-Feldtypen
In Experience-Datenmodell (XDM)-Schemas beschränkt der Typ eines Felds, welche Daten das Feld enthalten kann. Dieses Dokument bietet einen Überblick über die einzelnen Kernfeldtypen, einschließlich der anderen Serialisierungsformate, denen sie zugeordnet werden können, und wie Sie Ihre eigenen Feldtypen in der API definieren, um verschiedene Einschränkungen zu erzwingen.
Erste Schritte
Bevor Sie dieses Handbuch verwenden, lesen Sie die Grundlagen der Schemakomposition , um eine Einführung in XDM-Schemas, -Klassen und Schemafeldgruppen zu erhalten.
Wenn Sie planen, Ihre eigenen Feldtypen in der API zu definieren, wird dringend empfohlen, mit dem Entwicklerhandbuch zur Schema Registry zu beginnen, um zu erfahren, wie Sie Feldergruppen und Datentypen erstellen, in die Ihre benutzerdefinierten Felder eingeschlossen werden. Wenn Sie die Experience Platform-Benutzeroberfläche zum Erstellen Ihrer Schemas verwenden, finden Sie im Handbuch zum Definieren von Feldern in der Benutzeroberfläche Informationen dazu, wie Sie Einschränkungen für Felder implementieren, die Sie in benutzerdefinierten Feldergruppen und Datentypen definieren.
Basisstruktur und Beispiele basic-types
XDM basiert auf dem JSON-Schema und daher erben XDM-Felder bei der Definition ihres Typs eine ähnliche Syntax. Wenn Sie wissen, wie verschiedene Feldtypen im JSON-Schema dargestellt werden, können Sie die grundlegenden Einschränkungen der einzelnen Typen anzeigen. Bei den Namen benutzerdefinierter Felder wird nicht zwischen Groß- und Kleinschreibung unterschieden. Sie müssen unterschiedliche Namen auf derselben Ebene im Schema haben.
In der folgenden Tabelle wird beschrieben, wie jeder XDM-Typ im JSON-Schema dargestellt wird, zusammen mit einem Beispielwert, der dem Typ entspricht:
{"type": "string"}
"Platinum"
{"type": "number"}
12925.49
{
"type": "integer",
"Maximum": 9007199254740991,
"minimum": -9007199254740991
}
1478108935
{
"type": "integer",
"Maximum": 2147483648,
"minimum": -2147483648
}
24906290
{
"type": "integer",
"Maximum": 32768,
"minimum": -32768
}
15781
{
"type": "integer",
"Maximum": 128,
"minimum": -128
}
90
{
"type": "string",
"format": "date"
}
"2019-05-15"
{
"type": "string",
"format": "date-time"
}
"2019-05-15T20:20:39+00:00"
{"type": "string"}
true
*Alle datumsformatierten Zeichenfolgen müssen dem ISO 8601-Standard (RFC 3339, Abschnitt 5.6) entsprechen.
Zuordnen von XDM-Typen zu anderen Formaten
In den folgenden Abschnitten wird beschrieben, wie die einzelnen XDM-Typen anderen gängigen Serialisierungsformaten zugeordnet werden:
Parquet, Spark SQL und Java parquet
BYTE_ARRAY
Anmerkung:
UTF8
StringType
java.lang.String
DOUBLE
LongType
java.lang.Double
INT64
LongType
java.lang.Long
INT32
Anmerkung:
INT_32
IntegerType
java.lang.Integer
INT32
Anmerkung:
INT_16
ShortType
java.lang.Short
INT32
Anmerkung:
INT_8
ByteType
java.lang.Short
INT32
Anmerkung:
DATE
DateType
java.util.Date
INT64
Anmerkung:
TIMESTAMP_MILLIS
TimestampType
java.util.Date
BOOLEAN
BooleanType
java.lang.Boolean
MAP
-kommentierte Gruppe(
<key-type>
muss STRING
sein)MapType
(
keyType
muss StringType
sein)java.util.Map
Scala, .NET und CosmosDB scala
String
System.String
String
Double
System.Double
Number
Long
System.Int64
Number
Int
System.Int32
Number
Short
System.Int16
Number
Byte
System.SByte
Number
java.util.Date
System.DateTime
String
java.util.Date
System.DateTime
String
Boolean
System.Boolean
Boolean
Map
object
MongoDB, Aerospike und Protobuf 2 mongo
string
String
string
double
Double
double
long
Integer
int64
int
Integer
int32
int
Integer
int32
int
Integer
int32
date
Integer
(Unix Millisekunden)
int64
(Unix Millisekunden)
timestamp
Integer
(Unix Millisekunden)
int64
(Unix Millisekunden)
bool
Integer
(0/1 binary)
bool
object
map
map<key_type, value_type>
Definieren von XDM-Feldtypen in der API define-fields
Mit der Schema Registry-API können Sie benutzerdefinierte Felder mithilfe von Formaten und optionalen Einschränkungen definieren. Weitere Informationen finden Sie im Handbuch zum Definieren benutzerdefinierter Felder in der Schema Registry-API .