Riferimento al formato dei dati Amazon Ion in Amazon QLDB - Database Amazon Quantum Ledger (Amazon QLDB)

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Riferimento al formato dei dati Amazon Ion in Amazon QLDB

Amazon QLDB utilizza un modello di notazione dei dati che unifica Amazon Ion con un sottoinsieme di tipi PartiQL. Questa sezione fornisce una panoramica di riferimento del formato di dati del documento Ion, separata dalla sua integrazione con PartiQL.

Interrogazione di Ion con PartiQL in Amazon QLDB

Per la sintassi e la semantica dell'interrogazione dei dati Ion con PartiQL in QLDB, consultaInterrogare Ion con PartiQL il riferimento Amazon QLDB PartiQL.

Per esempi di codice che interrogano ed elaborano i dati Ion in un registro QLDB, vedereEsempi di codice Amazon Ion andUso di Amazon Ion.

Cos'è Amazon Ion?

Ion è un formato di serializzazione dei dati gerarchico open source, ricco di caratteri e autodescrittivo, originariamente sviluppato internamente ad Amazon. Si basa su un modello di dati astratto che consente di archiviare dati strutturati e non strutturati. È un superset di JSON, il che significa che qualsiasi documento JSON valido è anche un documento Ion valido. Questa guida presuppone una conoscenza operativa di base di JSON. Se non conosci già JSON, consulta Introduzione a JSON per ulteriori informazioni.

È possibile annotare i documenti Ion in modo intercambiabile in forma di testo leggibile dall'uomo o in formato con codifica binaria. Come JSON, il modulo di testo è facile da leggere e scrivere e supporta la prototipazione rapida. La codifica binaria è più compatta ed efficiente per persistere, trasmettere e analizzare. Un processore Ion può transcodificare tra entrambi i formati per rappresentare esattamente lo stesso insieme di strutture di dati senza alcuna perdita di dati. Questa funzionalità consente alle applicazioni di ottimizzare il modo in cui elaborano i dati per diversi casi d'uso.

Nota

Il modello di dati Ion è strettamente basato sui valori e non supporta riferimenti. Pertanto, il modello di dati può rappresentare gerarchie di dati che possono essere annidate a profondità arbitrarie, ma non grafici orientati.

Specificazione degli ioni

Per un elenco completo dei tipi di dati Ion core con descrizioni complete e dettagli di formattazione dei valori, consulta il documento sulle specifiche di Ion sul GitHub sito Amazon.

Per semplificare lo sviluppo delle applicazioni, Amazon Ion fornisce librerie client che elaborano i dati Ion per te. Per esempi di codice di casi d'uso comuni per l'elaborazione dei dati Ion, consulta Amazon Ion Cookbook su GitHub.

Compatibile JSON

Analogamente a JSON, componi documenti Amazon Ion con un set di tipi di dati primitivi e un set di tipi di contenitori definiti in modo ricorsivo. Ion include i seguenti tipi di dati JSON tradizionali:

  • null: un valore nullo (vuoto) generico e non digitato. Inoltre, come descritto nella sezione seguente, Ion supporta un tipo nullo distinto per ogni tipo primitivo.

  • bool: valori booleani.

  • string: caratteri letterali di testo Unicode.

  • list: raccolte di valori eterogenee ordinate.

  • struct: raccolte non ordinate di coppie nome-valore. Come JSON,struct consente più valori per nome, ma ciò è generalmente sconsigliato.

Estensioni da JSON

Tipi di numeri

Invece delnumber tipo JSON ambiguo, Amazon Ion definisce rigorosamente i numeri come uno dei seguenti tipi:

  • int: numeri interi firmati di dimensioni arbitrarie.

  • decimal: numeri reali con codifica decimale di precisione arbitraria.

  • float: numeri in virgola mobile con codifica binaria (IEEE a 64 bit).

Durante l'analisi dei documenti, un processore Ion assegna i tipi di numeri come segue:

  • int: numeri senza esponente o punto decimale (ad esempio,100200).

  • decimal: numeri con una virgola decimale e nessun esponente (ad esempio0.00001,200.0).

  • float: numeri con un esponente, ad esempio notazione scientifica o notazione elettronica (ad esempio2e0,3.1e-4).

Nuovi tipi di dati

Amazon Ion aggiunge i seguenti tipi di dati:

  • timestamp: momenti di data/ora/fuso orario di precisione arbitraria.

  • symbol: atomi simbolici Unicode (ad esempio identificatori).

  • blob: dati binari di codifica definita dall'utente.

  • clob: dati di testo della codifica definita dall'utente.

  • sexp: raccolte ordinate di valori con semantica definita dall'applicazione.

Tipi nulli

Oltre al tipo nullo generico definito da JSON, Amazon Ion supporta un tipo nullo distinto per ogni tipo primitivo. Ciò indica una mancanza di valore pur mantenendo un tipo di dati 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

Esempio di testo 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 ], }

Riferimenti API