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
Granska grunderna för schemakomposition innan du använder den här guiden för att få en introduktion till XDM-scheman, klasser och schemafältgrupper.
Om du planerar att definiera dina egna fälttyper i API rekommenderar vi att du börjar med utvecklarhandboken för schemaregister för att 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 om att definiera fält i användargränssnittet för att 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. Anpassade fältnamn är inte skiftlägeskänsliga och måste ha olika namn på samma nivå i schemat.
I följande tabell visas hur varje XDM-typ representeras i JSON-schema, tillsammans med ett exempelvärde som överensstämmer med typen:
{"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
*Alla datumformaterade strängar måste uppfylla standarden ISO 8601 (RFC 3339, avsnitt 5.6).
Mappa XDM-typer till andra format
Avsnitten nedan beskriver hur varje XDM-typ mappar till andra vanliga serialiseringsformat:
Parquet, Spark SQL och Java parquet
BYTE_ARRAY
Anteckning:
UTF8
StringType
java.lang.String
DOUBLE
LongType
java.lang.Double
INT64
LongType
java.lang.Long
INT32
Anteckning:
INT_32
IntegerType
java.lang.Integer
INT32
Anteckning:
INT_16
ShortType
java.lang.Short
INT32
Anteckning:
INT_8
ByteType
java.lang.Short
INT32
Anteckning:
DATE
DateType
java.util.Date
INT64
Anteckning:
TIMESTAMP_MILLIS
TimestampType
java.util.Date
BOOLEAN
BooleanType
java.lang.Boolean
MAP
-kommenterad grupp(
<key-type>
måste vara STRING
)MapType
(
keyType
måste vara StringType
)java.util.Map
Scala, .NET och 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 och Protobuf 2 mongo
string
String
string
double
Double
double
long
Integer
int64
int
Integer
int32
int
Integer
int32
int
Integer
int32
date
Integer
(Unix millisekunder)
int64
(Unix millisekunder)
timestamp
Integer
(Unix millisekunder)
int64
(Unix millisekunder)
bool
Integer
(0/1 binärt)
bool
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. Mer information finns i guiden Definiera anpassade fält i API:t för schemaregister.