Beperkingen voor XDM-veldtypen
In schema's van het Model van Gegevens van de Ervaring (XDM), beperkt het type van een gebied welk soort gegevens het gebied kan bevatten. Dit document biedt een overzicht van elk kernveldtype, inclusief de andere serialisatie-indelingen waaraan ze kunnen worden toegewezen en hoe u uw eigen veldtypen in de API kunt definiëren om verschillende beperkingen af te dwingen.
Aan de slag
Alvorens deze gids te gebruiken, te herzien gelieve de grondbeginselen van schemacompositievoor een inleiding aan schema XDM, klassen, en groepen van het schemagebied.
Als u van plan bent om uw eigen gebiedstypes in API te bepalen, adviseert men sterk dat u met de de ontwikkelaarsgids van de Registratie van het Schemabegint om te leren hoe te om gebiedsgroepen en gegevenstypes tot stand te brengen om uw douanegebieden in te omvatten. Als u het Experience Platform UI gebruikt om uw schema's tot stand te brengen, zie de gids op bepalend gebieden in UIhoe te leren om beperkingen op gebieden uit te voeren die u binnen de groepen van het douanegebied en gegevenstypes bepaalt.
Basisstructuur en voorbeelden basic-types
XDM wordt gebouwd bovenop het Schema van JSON, en daarom erven de gebieden XDM een gelijkaardige syntaxis wanneer het bepalen van hun type. Begrijpen hoe de verschillende gebiedstypes in het Schema JSON worden vertegenwoordigd kan helpen op de basisbeperkingen van elk type wijzen. Namen van aangepaste velden zijn hoofdlettergevoelig en moeten verschillende namen hebben op hetzelfde niveau in het schema.
In de volgende tabel wordt beschreven hoe elk XDM-type wordt vertegenwoordigd in JSON-schema, samen met een voorbeeldwaarde die overeenkomt met het type:
{"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
*Alle datum-geformatteerde koorden moeten met ISO 8601 norm ( RFC 3339, sectie 5.6in overeenstemming zijn).
XDM-typen toewijzen aan andere indelingen
In de onderstaande secties wordt beschreven hoe elk XDM-type wordt toegewezen aan andere algemene serialisatie-indelingen:
Parquet, Spark SQL en Java parquet
BYTE_ARRAY
annotatie:
UTF8
StringType
java.lang.String
DOUBLE
LongType
java.lang.Double
INT64
LongType
java.lang.Long
INT32
annotatie:
INT_32
IntegerType
java.lang.Integer
INT32
annotatie:
INT_16
ShortType
java.lang.Short
INT32
annotatie:
INT_8
ByteType
java.lang.Short
INT32
annotatie:
DATE
DateType
java.util.Date
INT64
annotatie:
TIMESTAMP_MILLIS
TimestampType
java.util.Date
BOOLEAN
BooleanType
java.lang.Boolean
MAP
-annoated group(
<key-type>
moet STRING
zijn)MapType
(
keyType
must be StringType
)java.util.Map
Scala, .NET en 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 en Protobuf 2 mongo
string
String
string
double
Double
double
long
Integer
int64
int
Integer
int32
int
Integer
int32
int
Integer
int32
date
Integer
(Unix milliseconds)
int64
(Unix milliseconds)
timestamp
Integer
(Unix milliseconds)
int64
(Unix milliseconds)
bool
Integer
(0/1 binair)
bool
object
map
map<key_type, value_type>
XDM-veldtypen definiëren in de API define-fields
Met de API voor het schemaregister kunt u aangepaste velden definiëren met behulp van indelingen en optionele beperkingen. Zie de gids op bepalend douanegebieden in de Registratie API van het Schemavoor meer informatie.