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 bitte die Grundlagen der Schemakomposition für eine Einführung in XDM-Schemas, Klassen und Schemafeldgruppen.

Wenn Sie Ihre eigenen Feldtypen in der API definieren möchten, wird dringend empfohlen, mit der Entwicklerhandbuch zur Schema Registry , um zu erfahren, wie Sie Feldergruppen und Datentypen erstellen, in die Ihre benutzerdefinierten Felder eingefügt werden. Wenn Sie zur Erstellung Ihrer Schemas die Experience Platform-Benutzeroberfläche verwenden, finden Sie im Handbuch unter Definieren von Feldern in der Benutzeroberfläche um zu erfahren, wie Sie Einschränkungen für Felder implementieren, die Sie in benutzerdefinierten Feldergruppen und Datentypen definieren.

Basisstruktur und Beispiele

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.

HINWEIS

Siehe API-Grundlagenhandbuch Weitere Informationen zum JSON-Schema und anderen zugrunde liegenden Technologien in Platform-APIs.

In der folgenden Tabelle wird beschrieben, wie jeder XDM-Typ im JSON-Schema dargestellt wird, zusammen mit einem Beispielwert, der dem Typ entspricht:

XDM-Typ JSON-Schema Beispiel
String
{"type": "string"}
"Platinum"
Double
{"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
Byte
{ "type": "integer", "maximum": 128, "Minimum": -128 }
90
Datum*
{ "type": "string", "format": "date" }
"2019-05-15"
DateTime*
{ "type": "string", "format": "date-time" }
"2019-05-15T20:20:39+00:00"
Boolean
{"type": "string"}
true

*Alle datumsformatierten Zeichenfolgen müssen dem ISO 8601-Standard (RFC 3339, Abschnitt 5.6).

Zuordnen von XDM-Typen zu anderen Formaten

In den folgenden Abschnitten wird beschrieben, wie die einzelnen XDM-Typen anderen gängigen Serialisierungsformaten zugeordnet werden:

HINWEIS

Unter den in den folgenden Tabellen aufgeführten Standard-XDM-Typen ist die Zuordnung Typ ist ebenfalls enthalten. Maps werden in Standardschemata verwendet, wenn Daten als Schlüssel dargestellt werden, die bestimmten Werten zugeordnet sind, oder wenn Schlüssel vernünftigerweise nicht in ein statisches Schema aufgenommen werden können und als Datenwerte behandelt werden müssen.

Viele standardmäßige XDM-Komponenten verwenden Zuordnungstypen. Sie können auch Definieren von benutzerdefinierten Zuordnungsfeldern falls gewünscht. Die Aufnahme des Zuordnungstyps in die folgenden Tabellen soll Ihnen dabei helfen festzustellen, wie Sie Ihre vorhandenen Daten XDM zuordnen können, wenn sie derzeit in einem der unten aufgeführten Formate gespeichert sind.

Parquet, Spark SQL und Java

XDM-Typ Parquet Spark SQL Java
String Typ: BYTE_ARRAY
Anmerkung: UTF8
StringType java.lang.String
Double Typ: DOUBLE LongType java.lang.Double
Lang Typ: INT64 LongType java.lang.Long
Ganzzahl Typ: INT32
Anmerkung: INT_32
IntegerType java.lang.Integer
Kurz Typ: INT32
Anmerkung: INT_16
ShortType java.lang.Short
Byte Typ: INT32
Anmerkung: INT_8
ByteType java.lang.Short
Datum Typ: INT32
Anmerkung: DATE
DateType java.util.Date
DateTime Typ: INT64
Anmerkung: TIMESTAMP_MILLIS
TimestampType java.util.Date
Boolesch Typ: BOOLEAN BooleanType java.lang.Boolean
Landkarte MAP-kommentierte Gruppe

(<key-type> muss STRING)
MapType

(keyType muss StringType)
java.util.Map

Scala, .NET und CosmosDB

XDM-Typ Scala .NET CosmosDB
String String System.String String
Double Double System.Double Number
Lang Long System.Int64 Number
Ganzzahl Int System.Int32 Number
Kurz Short System.Int16 Number
Byte Byte System.SByte Number
Datum java.util.Date System.DateTime String
DateTime java.util.Date System.DateTime String
Boolesch Boolean System.Boolean Boolean
Landkarte Map (Nicht angegeben) object

MongoDB, Aerospike und Protobuf 2

XDM-Typ MongoDB Aerospike Protobuf 2
String string String string
Double double Double double
Lang long Integer int64
Ganzzahl int Integer int32
Kurz int Integer int32
Byte int Integer int32
Datum date Integer
(Unix-Millisekunden)
int64
(Unix-Millisekunden)
DateTime timestamp Integer
(Unix-Millisekunden)
int64
(Unix-Millisekunden)
Boolesch bool Integer
(0/1 binär)
bool
Landkarte object map map<key_type, value_type>

Definieren von XDM-Feldtypen in der API

Mit der Schema Registry-API können Sie benutzerdefinierte Felder mithilfe von Formaten und optionalen Einschränkungen definieren. Siehe Handbuch unter Definieren benutzerdefinierter Felder in der Schema Registry-API für weitere Informationen.

Auf dieser Seite