Restrições de tipo de campo XDM

Em esquemas do Experience Data Model (XDM), o tipo de um campo restringe o tipo de dados que o campo pode conter. Este documento fornece uma visão geral de cada tipo de campo principal, incluindo os outros formatos de serialização aos quais eles podem ser mapeados e como definir seus próprios tipos de campo na API para aplicar restrições diferentes.

Introdução

Antes de usar este guia, revise o noções básicas da composição do esquema para obter uma introdução a esquemas XDM, classes e grupos de campos de esquema.

Se você planeja definir seus próprios tipos de campo na API, é altamente recomendável começar com a variável Guia do desenvolvedor do Registro de esquema para saber como criar grupos de campos e tipos de dados para incluir seus campos personalizados no. Se você estiver usando a interface do Experience Platform para criar seus esquemas, consulte o manual em definição de campos na interface para saber como implementar restrições em campos definidos em grupos de campos personalizados e tipos de dados.

Estrutura básica e exemplos

O XDM é criado sobre o Esquema JSON e, portanto, os campos XDM herdam uma sintaxe semelhante ao definir seu tipo. Entender como os diferentes tipos de campo são representados no Esquema JSON pode ajudar a indicar as restrições básicas de cada tipo.

OBSERVAÇÃO

Consulte a Guia de fundamentos de API para obter mais informações sobre o Esquema JSON e outras tecnologias subjacentes nas APIs da plataforma.

A tabela a seguir descreve como cada tipo de XDM é representado no Esquema JSON, juntamente com um valor de exemplo que está em conformidade com o tipo:

Tipo XDM Esquema JSON Exemplo
Cadeia de Caracteres
{"type": "string"}
"Platinum"
Duplo
{"type": "number"}
12925.49
Long
{ "type": "integer", "maximum": 9007199254740991, "minimum": -9007199254740991 }
1478108935
Inteiro
{ "type": "integer", "maximum": 2147483648, "minimum": -2147483648 }
24906290
Short
{ "type": "integer", "maximum": 32768, "minimum": -32768 }
15781
Byte
{ "type": "integer", "maximum": 128, "minimum": -128 }
90
Data*
{ "type": "string", "format": "date" }
"2019-05-15"
DateTime*
{ "type": "string", "format": "date-time" }
"2019-05-15T20:20:39+00:00"
Booleano
{"type": "string"}
true

*Todas as strings formatadas por data devem estar em conformidade com o padrão ISO 8601 (RFC 3339, seção 5.6).

Mapeamento tipos XDM para outros formatos

As seções abaixo descrevem como cada tipo de XDM é mapeado para outros formatos de serialização comuns:

OBSERVAÇÃO

Entre os tipos XDM padrão listados nas tabelas abaixo, a variável Mapa O tipo de também está incluído. Os mapas são usados em esquemas padrão quando os dados são representados como chaves que mapeiam para determinados valores ou quando as chaves não podem ser incluídas razoavelmente em um esquema estático e devem ser tratadas como valores de dados.

Muitos componentes XDM padrão usam tipos de mapa e você também pode definir campos de mapa personalizados se desejado. A inclusão do tipo de mapa nas tabelas abaixo tem como objetivo ajudar você a determinar como mapear os dados existentes para o XDM se eles estiverem armazenados em qualquer um dos formatos listados abaixo.

Parquet, Spark SQL e Java

Tipo XDM Parquet Spark SQL Java
String Tipo: BYTE_ARRAY
Anotação: UTF8
StringType java.lang.String
Duplo Tipo: DOUBLE LongType java.lang.Double
Longo Tipo: INT64 LongType java.lang.Long
Número inteiro Tipo: INT32
Anotação: INT_32
IntegerType java.lang.Integer
Short Tipo: INT32
Anotação: INT_16
ShortType java.lang.Short
Byte Tipo: INT32
Anotação: INT_8
ByteType java.lang.Short
Data Tipo: INT32
Anotação: DATE
DateType java.util.Date
DateTime Tipo: INT64
Anotação: TIMESTAMP_MILLIS
TimestampType java.util.Date
Booleano Tipo: BOOLEAN BooleanType java.lang.Boolean
Mapa MAPgrupo anotado

(<key-type> deve ser STRING)
MapType

(keyType deve ser StringType)
java.util.Map

Scala, .NET e CosmosDB

Tipo XDM Scala .NET CosmosDB
String String System.String String
Duplo Double System.Double Number
Longo Long System.Int64 Number
Número inteiro Int System.Int32 Number
Short 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
Mapa Map (N/D) object

MongoDB, Aerospike e Protobuf 2

Tipo XDM MongoDB Aerospike Protobuf 2
String string String string
Duplo double Double double
Longo long Integer int64
Número inteiro int Integer int32
Short int Integer int32
Byte int Integer int32
Data date Integer
(milissegundos Unix)
int64
(milissegundos Unix)
DateTime timestamp Integer
(milissegundos Unix)
int64
(milissegundos Unix)
Booleano bool Integer
(0/1 binário)
bool
Mapa object map map<key_type, value_type>

Definição de tipos de campo XDM na API

A API do Registro de esquema permite definir campos personalizados por meio do uso de formatos e restrições opcionais. Consulte o guia sobre definição de campos personalizados na API do registro de esquema para obter mais informações.

Nesta página