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 unificaAmazon Ioncon un subconjunto dePartiQLtipos. Esta sección proporciona una descripción general de referencia del formato de datos de documentos de 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, consulteConsultar Ion con PartiQLen laReferencia de Amazon QLDB PartiQL.

Para ver ejemplos de código que consultan y procesan datos de Ion en un libro mayor de QLDB, consulteEjemplos de código para Amazon IonyTrabajo con Amazon Ion.

¿Qué es Amazon

Ion es un formato de serialización de datos jerárquico, autodescriptivo y de código abierto que se desarrolló originalmente de forma interna en Amazon. Se basa en un modelo de datos abstracto que le 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. Esta guía asume un conocimiento básico de trabajo de JSON. Si aún no está familiarizado con JSON, consultePresentación de JSONpara obtener más información.

Puede anotar documentos Ion indistintamente en forma de texto legible por humanos o en formato binario. Al igual que JSON, el formulario de texto es fácil de leer y escribir, y admite 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 ninguna pérdida de datos. Esto permite que las aplicaciones optimicen la forma en que procesan los datos para diferentes 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 a una profundidad arbitraria, pero no gráficos dirigidos.

Especificación Ion

Para obtener una lista completa de los tipos de datos del núcleo de Ion con descripciones completas y detalles de formato de valores, consulte laDocumento de especificación Ionen Amazon GitHub sitio:.

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 comunes para procesar datos de Ion, consulte laLibro de Amazonen GitHub.

Compatible con JSON

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

  • null: un valor nulo (vacío) genérico y sin tipo. Además, como se describe en la siguiente sección, Ion admite un tipo nulo 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 de nombre-valor. Como JSON,structpermite varios valores por nombre, pero por lo general no se recomienda.

Extensiones de JSON

Tipos número

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

  • int: enteros con signo de tamaño arbitrario.

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

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

Al analizar documentos, un procesador Ion asigna tipos de números de la siguiente manera:

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

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

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

Nuevos tipos de datos

Amazon Ion añade los siguientes tipos de datos:

  • timestamp: Momentos de fecha/hora/zona horaria de precisión arbitraria.

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

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

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

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

Tipos nulo

Además del tipo nulo genérico definido por JSON, Amazon Ion admite un tipo nulo distinto para cada tipo primitivo. Esto indica una falta de valor a la vez que se 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 Ion text

// 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