Begrenzungen für XDM-Feldtypen

In Experience-Datenmodell (XDM)-Schemata schränkt der Typ eines Felds ein, welche Art von Daten das Feld enthalten kann. Dieses Dokument bietet einen Überblick über jeden Kernfeldtyp, 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 durchzusetzen.

Erste Schritte

Bevor Sie dieses Handbuch verwenden, lesen Sie die Grundlagen der Schemakomposition für eine Einführung in XDM-Schemata, Klassen und Schemafeldgruppen.

Wenn Sie Ihre eigenen Feldtypen in der API definieren möchten, wird dringend empfohlen, mit dem Entwicklerhandbuch zur Schemaregistrierung zu beginnen, um zu erfahren, wie Sie Feldergruppen und Datentypen erstellen, um Ihre benutzerdefinierten Felder in einzuschließen. Wenn Sie die Experience Platform-Benutzeroberfläche zum Erstellen Ihrer Schemata verwenden, erfahren Sie im Handbuch unter Definieren von Feldern in der Benutzeroberfläche , 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 übernehmen XDM-Felder beim Definieren ihres Typs eine ähnliche Syntax. Wenn Sie verstehen, wie verschiedene Feldtypen im JSON-Schema dargestellt werden, können Sie die grundlegenden Einschränkungen jedes Typs angeben. Bei benutzerdefinierten Feldnamen wird nicht zwischen Groß- und Kleinschreibung unterschieden und sie müssen unterschiedliche Namen auf derselben Ebene in Ihrem Schema haben.

NOTE
Weitere Informationen zu JSONSchemas und anderen zugrunde liegenden Technologien in Platform-APIs findenim Handbuch zu den API-Grundlagen .

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"
-Nummer
{type}: „number“}
12925.49
Long
{
  „type“: „integer“,
  „maximum“: 9007199254740991,
  „minimum“: -9007199254740991
}
1478108935
Ganzzahl
{
  „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"
Boolesch
{„type“: „string“}
true

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

Zuordnen von XDM-Typen zu anderen Formaten

In den folgenden Abschnitten wird beschrieben, wie jeder XDM-Typ anderen gängigen Serialisierungsformaten zugeordnet wird:

NOTE
Unter den in den folgenden Tabellen aufgelisteten Standard-XDM-Typen ist auch ​ Typ ​Map“ enthalten. Zuordnungen werden in Standardschemata verwendet, wenn Daten als Schlüssel dargestellt werden, die bestimmten Werten zugeordnet sind, oder wenn Schlüssel nicht sinnvoll in ein statisches Schema aufgenommen werden können und als Datenwerte behandelt werden müssen.
Viele standardmäßige XDM-Komponenten verwenden Zuordnungstypen und Sie können bei auch benutzerdefinierte Zuordnungsfelder. Die Aufnahme des Zuordnungstyps in die folgenden Tabellen soll Ihnen dabei helfen, zu bestimmen, wie Sie Ihre vorhandenen Daten XDM zuordnen, wenn sie derzeit in einem der unten aufgeführten Formate gespeichert sind.

Parquet, Spark SQL und Java parquet

XDM-Typ
Parquet
Spark SQL
Java
String
Typ: BYTE_ARRAY
Anmerkung: UTF8
StringType
java.lang.String
Zahl
Typ: DOUBLE
LongType
java.lang.Double
Lang
Typ: INT64
LongType
java.lang.Long
Integer
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
Gruppe mit MAP Anmerkungen

(<key-type> muss STRING sein)
MapType

(keyType muss StringType sein)
java.util.Map

Scala, .NET und CosmosDB scala

XDM-Typ
Scala
.NET
CosmosDB
String
String
System.String
String
Zahl
Double
System.Double
Number
Lang
Long
System.Int64
Number
Integer
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 mongo

XDM-Typ
MongoDB
Aerospike
Protobuf 2
String
string
String
string
Zahl
double
Double
double
Lang
long
Integer
int64
Integer
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 define-fields

Mit der Schema Registry-API können Sie benutzerdefinierte Felder mithilfe von Formaten und optionalen Einschränkungen definieren. Weitere Informationen finden Sie Handbuch unter „Definieren benutzerdefinierter Felder in der Schema RegistryAPI“.

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