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 Experience Platform-gränssnittet för att skapa dina scheman kan du läsa guiden 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": "boolesk"}
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_ARRAYAnteckning:
UTF8StringTypejava.lang.StringDOUBLELongTypejava.lang.DoubleINT64LongTypejava.lang.LongINT32Anteckning:
INT_32IntegerTypejava.lang.IntegerINT32Anteckning:
INT_16ShortTypejava.lang.ShortINT32Anteckning:
INT_8ByteTypejava.lang.ShortINT32Anteckning:
DATEDateTypejava.util.DateINT64Anteckning:
TIMESTAMP_MILLISTimestampTypejava.util.DateBOOLEANBooleanTypejava.lang.BooleanMAP-kommenterad grupp(
<key-type> måste vara STRING)MapType(
keyType måste vara StringType)java.util.MapScala, .NET och CosmosDB scala
StringSystem.StringStringDoubleSystem.DoubleNumberLongSystem.Int64NumberIntSystem.Int32NumberShortSystem.Int16NumberByteSystem.SByteNumberjava.util.DateSystem.DateTimeStringjava.util.DateSystem.DateTimeStringBooleanSystem.BooleanBooleanMapobjectMongoDB, Aerospike och Protobuf 2 mongo
stringStringstringdoubleDoubledoublelongIntegerint64intIntegerint32intIntegerint32intIntegerint32dateInteger(Unix millisekunder)
int64(Unix millisekunder)
timestampInteger(Unix millisekunder)
int64(Unix millisekunder)
boolInteger(0/1 binärt)
boolobjectmapmap<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.