As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Importante
Aviso de fim do suporte: os clientes existentes poderão usar o Amazon QLDB até o final do suporte em 31/07/2025. Para obter mais detalhes, consulte Migrar um Amazon QLDB Ledger para o Amazon
O Amazon QLDB usa um modelo de notação de dados que unifica o Amazon
Consultar o Ion com o PartiQL no Amazon QLDB
Para saber a sintaxe e a semântica da consulta de dados do Ion com o PartiQL no QLDB, consulte Consultar o Ion com o PartiQL em Amazon QLDB PartiQL Reference.
Para exemplos de código que consultam e processam dados do Ion em um ledger do QLDB, consulte Exemplos de código do Amazon Ion e Como trabalhar com o Amazon Ion.
Tópicos
O que é o Amazon Ion?
O Ion é um formato de serialização de dados hierárquico, de código aberto, ricamente tipado, autodescritivo e originalmente desenvolvido internamente na Amazon. É baseado em um modelo de dados abstrato que permite armazenar dados estruturados e não estruturados. É um superconjunto de JSON, o que significa que qualquer documento JSON válido também é um documento Ion válido. Este guia pressupõe um conhecimento prático básico de JSON. Se você ainda não está familiarizado com o JSON, consulte Apresentação do JSON
Você pode anotar documentos Ion de forma intercambiável em formato de texto legível por humanos ou em formato codificado binário. Assim como o JSON, o formulário de texto é de fácil leitura e gravação, oferecendo suporte à prototipagem rápida. A codificação binária é mais compacta e eficiente para persistir, transmitir e analisar. Um processador Ion pode transcodificar entre os dois formatos para representar exatamente o mesmo conjunto de estruturas de dados sem perda de dados. Esse atributo permite que os aplicativos otimizem a forma como processam dados para diferentes casos de uso.
nota
O modelo de dados Ion é estritamente baseado em valores e não oferece suporte a referências. Assim, o modelo de dados pode representar hierarquias de dados que podem ser aninhadas em profundidade arbitrária, mas não em gráficos direcionados.
Especificação de Ion
Para obter uma lista completa dos tipos de dados principais do Ion com descrições completas e detalhes de formatação de valores, consulte o documento de especificação do Ion
Para simplificar o desenvolvimento de aplicativos, o Amazon Ion fornece bibliotecas de clientes que processam dados do Ion para você. Para exemplos de código de casos de uso comuns para processamento de dados de íons, consulte o Amazon Ion Cookbook
Compatível com JSON
Semelhante ao JSON, você compõe documentos do Amazon Ion com um conjunto de tipos de dados primitivos e um conjunto de tipos de contêiner definidos recursivamente. O Ion inclui os seguintes tipos de dados JSON tradicionais:
-
null
: um valor genérico nulo (vazio) não digitado. Além disso, conforme descrito na seção a seguir, o Ion suporta um tipo nulo distinto para cada tipo primitivo. -
bool
: Valores boleanos -
string
: Literais de texto em Unicode -
list
: Coleções heterogêneas ordenadas de valores -
struct
: Coleções não ordenadas de pares nome-valor Como o JSON,struct
permite vários valores por nome, mas isso geralmente é desencorajado.
Extensões de JSON
Tipos de número
Em vez do tipo de JSON number
ambíguo, o Amazon Ion define estritamente os números como um dos seguintes tipos:
-
int
: Números inteiros assinados de tamanho arbitrário -
decimal
: Números reais codificados em decimal de precisão arbitrária -
float
: Números de ponto flutuante codificados em binário (IEEE de 64 bits)
Ao analisar documentos, um processador Ion atribui tipos de números da seguinte forma:
-
int
: Números sem expoente ou ponto decimal (por exemplo,100200
). -
decimal
: Números sem expoente ou ponto decimal (por exemplo,0.00001
,200.0
). -
float
: Números com um expoente, como notação científica ou notação eletrônica (por exemplo,2e0
,3.1e-4
).
Novos tipos de dados
O Amazon Ion adiciona os seguintes tipos de dados:
-
timestamp
: Date/time/timezone momentos de precisão arbitrária. -
symbol
: Átomos simbólicos Unicode (identificadores) -
blob
: Dados binários de codificação definida pelo usuário. -
clob
: Dados de texto de codificação definida pelo usuário -
sexp
: coleções ordenadas de valores com semântica definida pelo aplicativo.
Tipos nulos
Além do tipo nulo genérico definido pelo JSON, o Amazon Ion oferece suporte a um tipo nulo distinto para cada tipo primitivo. Isso indica falta de valor e, ao mesmo tempo, mantém um tipo de dados rigoroso.
null null.null // Identical to untyped null null.bool null.int null.float null.decimal null.timestamp null.string null.symbol null.blob null.clob null.struct null.list null.sexp
Exemplo de texto Ion
// Here is a struct, which is similar to a JSON object. { // Field names don't always have to be quoted. name: "fido", // This is an integer. age: 7, // This is a timestamp with day precision. birthday: 2012-03-01T, // Here is a list, which is like a JSON array. toys: [ // These are symbol values, which are like strings, // but get encoded as integers in binary. ball, rope ], }