Vincoli del tipo di campo XDM

Negli schemi Experience Data Model (XDM), il tipo di campo limita il tipo di dati che può contenere il campo. Questo documento fornisce una panoramica di ogni tipo di campo di base, inclusi gli altri formati di serializzazione a cui possono essere mappati e come definire i propri tipi di campo nell’API per applicare vincoli diversi.

Introduzione

Prima di utilizzare questa guida, consulta la sezione nozioni di base sulla composizione dello schema introduzione a schemi, classi e gruppi di campi schema XDM.

Se prevedi di definire tipi di campi personalizzati nell’API, ti consigliamo vivamente di iniziare con Guida per gli sviluppatori del Registro di sistema dello schema per scoprire come creare gruppi di campi e tipi di dati in cui includere i campi personalizzati. Se utilizzi l’interfaccia utente di Experience Platform per creare gli schemi, consulta la guida in definizione dei campi nell’interfaccia utente per scoprire come implementare i vincoli nei campi definiti all’interno dei gruppi di campi personalizzati e dei tipi di dati.

Struttura di base ed esempi

XDM è basato su uno schema JSON e pertanto i campi XDM ereditano una sintassi simile quando ne definiscono il tipo. Per comprendere in che modo diversi tipi di campi sono rappresentati nello schema JSON, è utile indicare i vincoli di base di ciascun tipo.

NOTA

Consulta la sezione Guida di base sulle API per ulteriori informazioni sullo schema JSON e altre tecnologie sottostanti nelle API di Platform.

La tabella seguente illustra il modo in cui ogni tipo XDM viene rappresentato nello schema JSON, insieme a un valore di esempio conforme al tipo:

Tipo XDM Schema JSON Esempio
String
{"type": "string"}
"Platinum"
Doppio
{"type": "number"}
12925.49
Long
{ "type": "integer", "maximum": 9007199254740991, "minimo": -9007199254740991 }
1478108935
Integer
{ "type": "integer", "maximum": 2147483648, "minimo": -2147483648 }
24906290
Short
{ "type": "integer", "maximum": 32768, "minimo": -32768 }
15781
Byte
{ "type": "integer", "maximum": 128, "minimo": -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

*Tutte le stringhe formattate con data devono essere conformi allo standard ISO 8601 (RFC 3339, sezione 5.6).

Mappatura di tipi XDM su altri formati

Le sezioni seguenti descrivono come ogni tipo XDM viene mappato su altri formati di serializzazione comuni:

IMPORTANTE

Tra i tipi XDM standard elencati nelle tabelle seguenti, il Mappa è incluso anche il tipo . Le mappe vengono utilizzate negli schemi standard quando i dati sono rappresentati come chiavi che corrispondono a determinati valori, o quando le chiavi non possono essere ragionevolmente incluse in uno schema statico e devono essere trattate come valori di dati.

I campi di tipo mappa sono riservati per l’utilizzo dello schema del settore e del fornitore e non possono quindi essere utilizzati nelle risorse personalizzate definite dall’utente. L’inclusione del tipo di mappa nelle tabelle seguenti ha lo scopo di aiutarti a determinare come mappare i dati esistenti su XDM se sono attualmente memorizzati in uno dei formati elencati di seguito.

Parquet, SQL Spark e Java

Tipo XDM Parquet SQL Spark Java
Stringa Tipo: BYTE_ARRAY
Annotazione: UTF8
StringType java.lang.String
Doppio Tipo: DOUBLE LongType java.lang.Double
Lunga Tipo: INT64 LongType java.lang.Long
Intero Tipo: INT32
Annotazione: INT_32
IntegerType java.lang.Integer
Breve Tipo: INT32
Annotazione: INT_16
ShortType java.lang.Short
Byte Tipo: INT32
Annotazione: INT_8
ByteType java.lang.Short
Data Tipo: INT32
Annotazione: DATE
DateType java.util.Date
DateTime Tipo: INT64
Annotazione: TIMESTAMP_MILLIS
TimestampType java.util.Date
Booleano Tipo: BOOLEAN BooleanType java.lang.Boolean
Mappa MAP-gruppo annotato

(<key-type> devono STRING)
MapType

(keyType devono StringType)
java.util.Map

Scala, .NET e CosmosDB

Tipo XDM Scala .NET CosmosDB
Stringa String System.String String
Doppio Double System.Double Number
Lunga Long System.Int64 Number
Intero Int System.Int32 Number
Breve Short System.Int16 Number
Byte Byte System.SByte Number
Data java.util.Date System.DateTime String
DateTime java.util.Date System.DateTime String
Booleano Boolean System.Boolean Boolean
Mappa Map (N/D) object

MongoDB, Aerospike e Protobuf 2

Tipo XDM MongoDB Aerospik Protobuf 2
Stringa string String string
Doppio double Double double
Lunga long Integer int64
Intero int Integer int32
Breve int Integer int32
Byte int Integer int32
Data date Integer
(millisecondi Unix)
int64
(millisecondi Unix)
DateTime timestamp Integer
(millisecondi Unix)
int64
(millisecondi Unix)
Booleano bool Integer
(0/1 binario)
bool
Mappa object map map<key_type, value_type>

Definizione dei tipi di campi XDM nell’API

L’API del Registro di sistema dello schema consente di definire campi personalizzati tramite l’utilizzo di formati e vincoli facoltativi. Consulta la guida su definizione dei campi personalizzati nell’API del Registro di sistema dello schema per ulteriori informazioni.

In questa pagina