Begränsningar för XDM-fälttyp

Senaste uppdatering: 2023-10-18
  • Ämnen:
  • Schemas
    Visa mer om det här ämnet
  • Skapat för:
  • Developer
    User
    Admin
    Leader

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

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.

OBSERVERA

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:

OBSERVERA

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

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

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

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

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.

På denna sida