Begränsningar för XDM-fälttyp

I XDM-scheman (Experience Data Model) begränsar fälttypen vilken typ av data som fältet kan innehålla. Det här dokumentet innehåller en översikt över varje huvudfälttyp, inklusive andra serialiseringsformat som de kan mappas till och hur du definierar egna fälttyper i API för att tillämpa olika begränsningar.

Komma igång

Innan du använder den här handboken bör du granska grunderna för schemakomposition för en introduktion till XDM-scheman, klasser och schemafältgrupper.

Om du planerar att definiera egna fälttyper i API:t rekommenderar vi att du börjar med Utvecklarhandbok för schemaregister om du vill lära dig hur du skapar fältgrupper och datatyper som du vill inkludera dina anpassade fält i. Om du använder användargränssnittet för Experience Platform för att skapa dina scheman kan du läsa guiden på definiera fält i användargränssnittet om du vill lära dig hur du implementerar begränsningar för fält som du definierar i anpassade fältgrupper och datatyper.

Grundstruktur och exempel basic-types

XDM byggs ovanpå JSON-schema och därför ärver XDM-fält en liknande syntax när de definierar sin typ. Att förstå hur olika fälttyper visas i JSON-schema kan hjälpa till att indikera basbegränsningarna för varje typ.

NOTE
Se Grundläggande API-guide om du vill ha mer information om JSON-schema och andra underliggande tekniker i plattforms-API:er.

I följande tabell visas hur varje XDM-typ representeras i JSON-schema, tillsammans med ett exempelvärde som överensstämmer med typen:

XDM-typ
JSON-schema
Exempel
String
{"type": "string"}
"Platinum"
Number
{"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
Date*
{ "type": "string", "format": "date" }
"2019-05-15"
DateTime*
{ "type": "string", "format": "date-time" }
"2019-05-15T20:20:39+00:00"
Boolean
{"type": "string"}
true

*Alla datumformaterade strängar måste följa ISO 8601-standarden (RFC 3339, avsnitt 5.6).

Mappa XDM-typer till andra format

Avsnitten nedan beskriver hur varje XDM-typ mappar till andra vanliga serialiseringsformat:

NOTE
Bland de standardtyper av XDM som anges i tabellerna nedan finns Map typ ingår också. Kartor används i standardscheman när data representeras som nycklar som mappar till vissa värden, eller där nycklar inte rimligen kan inkluderas i ett statiskt schema och måste behandlas som datavärden.
Många standardkomponenter för XDM använder karttyper, och du kan också definiera anpassade kartfält vid behov. Karttypen tas med i tabellerna nedan för att hjälpa dig att bestämma hur befintliga data ska mappas till XDM om de för närvarande lagras i något av formaten som listas nedan.

Parquet, Spark SQL och Java parquet

XDM-typ
Parquet
Spark SQL
Java
String
Typ: BYTE_ARRAY
Anteckning: UTF8
StringType
java.lang.String
Number
Typ: DOUBLE
LongType
java.lang.Double
Long
Typ: INT64
LongType
java.lang.Long
Integer
Typ: INT32
Anteckning: INT_32
IntegerType
java.lang.Integer
Short
Typ: INT32
Anteckning: INT_16
ShortType
java.lang.Short
Byte
Typ: INT32
Anteckning: INT_8
ByteType
java.lang.Short
Date
Typ: INT32
Anteckning: DATE
DateType
java.util.Date
DateTime
Typ: INT64
Anteckning: TIMESTAMP_MILLIS
TimestampType
java.util.Date
Boolean
Typ: BOOLEAN
BooleanType
java.lang.Boolean
Map
MAP-annoterad grupp

(<key-type> måste vara STRING)
MapType

(keyType måste vara StringType)
java.util.Map

Scala, .NET och CosmosDB scala

XDM-typ
Scala
.NET
CosmosDB
String
String
System.String
String
Number
Double
System.Double
Number
Long
Long
System.Int64
Number
Integer
Int
System.Int32
Number
Short
Short
System.Int16
Number
Byte
Byte
System.SByte
Number
Date
java.util.Date
System.DateTime
String
DateTime
java.util.Date
System.DateTime
String
Boolean
Boolean
System.Boolean
Boolean
Map
Map
(Ej tillämpligt)
object

MongoDB, Aerospike och Protobuf 2 mongo

XDM-typ
MongoDB
Aerospike
Protobuf 2
String
string
String
string
Number
double
Double
double
Long
long
Integer
int64
Integer
int
Integer
int32
Short
int
Integer
int32
Byte
int
Integer
int32
Date
date
Integer
(Unix millisekunder)
int64
(Unix millisekunder)
DateTime
timestamp
Integer
(Unix millisekunder)
int64
(Unix millisekunder)
Boolean
bool
Integer
(0/1 binärt)
bool
Map
object
map
map<key_type, value_type>

Definiera XDM-fälttyper i API define-fields

Med API:t för schemaregister kan du definiera anpassade fält med hjälp av format och valfria begränsningar. Se guiden på definiera anpassade fält i API:t för schemaregister för mer information.

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