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 as noções básicas da composição de esquema para obter uma introdução aos 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 o 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 definindo 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 basic-types

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. Os nomes de campos personalizados não diferenciam maiúsculas de minúsculas e devem ter nomes diferentes no mesmo nível no esquema.

NOTE
Consulte o 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"
Número
{"type": "number"}
12925.49
Long
{
  "type": "integer",
  "maximum": 9007199254740991,
  "mínimo": -9007199254740991
}
1478108935
Inteiro
{
  "type": "integer",
  "máximo": 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 cadeias de caracteres 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:

NOTE
Entre os tipos XDM padrão listados nas tabelas abaixo, o tipo Map 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 desejar. 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 parquet

Tipo XDM
Parquet
Spark SQL
Java
String
Tipo: BYTE_ARRAY
Anotação: UTF8
StringType
java.lang.String
Número
Tipo: DOUBLE
LongType
java.lang.Double
Longo
Tipo: INT64
LongType
java.lang.Long
Inteiro
Tipo: INT32
Anotação: INT_32
IntegerType
java.lang.Integer
Curto
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
Grupo MAP anotado

(<key-type> deve ser STRING)
MapType

(keyType deve ser StringType)
java.util.Map

Scala, .NET e CosmosDB scala

Tipo XDM
Scala
.NET
CosmosDB
String
String
System.String
String
Número
Double
System.Double
Number
Longo
Long
System.Int64
Number
Inteiro
Int
System.Int32
Number
Curto
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 mongo

Tipo XDM
MongoDB
Aerospike
Protobuf 2
String
string
String
string
Número
double
Double
double
Longo
long
Integer
int64
Inteiro
int
Integer
int32
Curto
int
Integer
int32
Byte
int
Integer
int32
Data
date
Integer
(Unix milissegundos)
int64
(Unix milissegundos)
DateTime
timestamp
Integer
(Unix milissegundos)
int64
(Unix milissegundos)
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 define-fields

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

recommendation-more-help
62e9ffd9-1c74-4cef-8f47-0d00af32fc07