Referencia del formato de datos de Amazon Ion en Amazon QLDB - Amazon Quantum Ledger Database (Amazon QLDB)

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Referencia del formato de datos de Amazon Ion en Amazon QLDB

Amazon QLDB utiliza un modelo de notación de datos que unifica Amazon Ion con un subconjunto de tipos de PartiQL. Esta sección proporciona una descripción general de referencia del formato de datos del documento Ion, independiente de su integración con PartiQL.

Consulta de Ion con PartiQL en Amazon QLDB

Para obtener información sobre la sintaxis y la semántica de la consulta de datos de Ion con PartiQL en QLDB, consulte Consulta de Ion con PartiQL en la referencia de PartiQL de Amazon QLDB.

Para ver ejemplos de código que consultan y procesan datos de Ion en un libro mayor de QLDB, consulte Ejemplos de código de Amazon Ion y Trabajar con Amazon Ion.

¿Qué es Amazon Ion?

Ion es un formato de serialización de datos jerárquicos, autodescriptivo, altamente tipificado y de código abierto que se desarrolló originalmente de manera interna en Amazon. Se basa en un modelo de datos abstracto que permite almacenar datos estructurados y no estructurados. Es un superconjunto de JSON, lo que significa que cualquier documento JSON válido también es un documento Ion válido. En esta guía se parte de un conocimiento de usuario básico de JSON. Si aún no está familiarizado con JSON, consulte Introducción a JSON para obtener más información.

Puede realizar las notaciones de los documentos de Ion de forma intercambiable, ya sea en forma de texto legible por seres humanos o en formato codificado en binario. Al igual que JSON, el formato de texto es fácil de leer y escribir, y permite la creación rápida de prototipos. La codificación binaria es más compacta y eficiente para persistir, transmitir y analizar. Un procesador Ion puede transcodificar entre ambos formatos para representar exactamente el mismo conjunto de estructuras de datos sin pérdida de datos. Esta característica permite a las aplicaciones optimizar la forma en que procesan los datos para distintos casos de uso.

nota

El modelo de datos de Ion se basa estrictamente en valores y no admite referencias. Por lo tanto, el modelo de datos puede representar jerarquías de datos que se pueden anidar con una profundidad arbitraria, pero no gráficos dirigidos.

Especificación de Ion

Consulte el documento de especificaciones de Ion en el sitio de Amazon GitHub para obtener una lista completa de los tipos de datos principales de Ion con descripciones completas y detalles de formato de valores.

Para agilizar el desarrollo de aplicaciones, Amazon Ion proporciona bibliotecas cliente que procesan los datos de Ion por usted. Para ver ejemplos de código de casos de uso frecuente para procesar datos de Ion, consulte el Libro de recetas de Amazon Ion en GitHub.

Compatible con JSON

Al igual que con JSON, los documentos de Amazon Ion se componen de un conjunto de tipos de datos primitivos y un conjunto de tipos de contenedores definidos de forma recursiva. Ion incluye los siguientes tipos de datos JSON tradicionales:

  • null: un valor null (vacío) genérico y sin tipo. Además, como se describe en la siguiente sección, Ion admite un tipo null distinto para cada tipo primitivo.

  • bool: valores booleanos.

  • string: literales de texto Unicode.

  • list: colecciones de valores heterogéneas ordenadas.

  • struct: colecciones desordenadas de pares nombre-valor Al igual que JSON, struct permite varios valores por nombre, pero generalmente no se recomienda hacerlo.

Extensiones de JSON

Tipos de número

En lugar del tipo number JSON ambiguo, Amazon Ion define estrictamente los números como uno de los siguientes tipos:

  • int: enteros firmados de tamaño arbitrario.

  • decimal: números reales codificados con decimales de precisión arbitraria.

  • float: números de coma flotante codificados en binario (IEEE de 64 bits).

Al analizar documentos, un procesador Ion asigna los siguientes tipos de números:

  • int: números sin exponente ni coma decimal (por ejemplo, 100200).

  • decimal: números con coma decimal sin exponente (por ejemplo, 0.00001, 200.0).

  • float: números con exponente, como la notación científica o la notación electrónica (por ejemplo, 2e0, 3.1e-4).

Nuevos tipos de datos

Amazon Ion añade los siguientes tipos de datos:

  • timestamp: momentos de fecha, hora y zona horaria de precisión arbitraria.

  • symbol: átomos simbólicos de Unicode (como los identificadores).

  • blob: datos binarios de codificación definida por el usuario.

  • clob: datos de texto de codificación definida por el usuario.

  • sexp: colecciones ordenadas de valores con semántica definida por la aplicación.

Tipos null

Además del tipo null genérico definido por JSON, Amazon Ion admite un tipo null distinto para cada tipo primitivo. Esto indica una falta de valor y, al mismo tiempo, mantiene un tipo de datos estricto.

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

Ejemplo de texto de 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 ], }

Referencias de API