Referenz zum Amazon Ion-Datenformat in Amazon QLDB - Amazon Quantum Ledger Database (Amazon QLDB)

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Referenz zum Amazon Ion-Datenformat in Amazon QLDB

Amazon QLDB verwendet ein Datennotationsmodell, das Amazon Ion mit einer Teilmenge von PartiQL-Typen vereint. Dieser Abschnitt bietet eine Referenzübersicht über das Ion-Dokument-Datenformat, unabhängig von dessen Integration in PartiQL.

Ion mit PartiQL in Amazon QLDB abfragen

Die Syntax und Semantik der Abfrage von Ion-Daten mit PartiQL in QLDB finden SieAbfragen von Ion mit PartiQL in der Amazon QLDB PartiQL-Referenz.

Codebeispiele, die Ion-Daten in einem QLDB-Ledger abfragen und verarbeiten, finden Sie unterBeispiele für Amazon Ion-Code undArbeiten mit.

Was ist Amazon Ion?

Hierbei handelt es sich um ein Open-Source-, stark typisiertes, selbstbeschreibendes, hierarchisches Daten-Serialisierungsformat, das ursprünglich intern bei Amazon entwickelt wurde. Es basiert auf einem abstrakten Datenmodell, mit dem Sie sowohl strukturierte als auch unstrukturierte Daten speichern können. Es ist ein Superset von JSON, was bedeutet, dass jedes gültige JSON-Dokument auch ein gültiges Ion-Dokument ist. In diesem Handbuch wird davon ausgegangen, dass ein grundlegendes praktisches Wissen zu JSON vorhanden ist. Wenn Sie mit JSON noch nicht vertraut sind, finden Sie weitere Informationen unter Einführung in JSON.

Sie können Ion-Dokumente austauschbar entweder in Form von lesbarem Text oder in binär-kodierter Form verwenden. Wie JSON lässt sich die Textform leicht lesen und schreiben und unterstützt schnelles Prototyping. Die binäre Codierung ist kompakter und lässt sich effizient beibehalten, übertragen und analysieren. Ein Ion-Prozessor kann zwischen beiden Formaten transcodieren, um genau denselben Satz an Datenstrukturen ohne Datenverlust darzustellen. Mit dieser Funktion können Anwendungen die Verarbeitung von Daten für verschiedene Anwendungsfälle optimieren.

Anmerkung

Das Ion-Datenmodell basiert ausschließlich auf Werten und unterstützt keine Referenzen. Auf diese Weise kann das Datenmodell Hierarchien darstellen, die in beliebiger Tiefe verschachtelt werden können, jedoch keine gezielten Diagramme.

Ion-Spezifikation

Eine vollständige Liste der Ion-Kerndatentypen mit vollständigen Beschreibungen und Details zur Wertformatierung finden Sie im Ion-Spezifikationsdokument auf der GitHub Amazon-Website.

Um die Anwendungsentwicklung zu optimieren, stellt Amazon Ion Clientbibliotheken bereit, die Ion-Daten für Sie verarbeiten. Codebeispiele für gängige Anwendungsfälle für die Verarbeitung von Ion-Daten finden Sie im Amazon Ion Cookbook unter GitHub.

JSON-kompatibel

Ähnlich wie bei JSON verfassen Sie Amazon Ion-Dokumente mit einer Reihe von primitiven Datentypen und einer Reihe von rekursiv definierten Containertypen. Ion enthält die folgenden traditionellen JSON-Datentypen:

  • null: Ein generischer, nicht typisierter Null-Wert (leer). Außerdem unterstützt Ion einen eindeutigen Null-Typ für jeden primitiven Typ, wie im folgenden Abschnitt beschrieben.

  • bool: Boolesche Werte.

  • string: Unicode-Textliterale.

  • list: Zulässige heterogene Sammlungen von Werten.

  • struct: Nicht zulässige Sammlungen von Schlüssel-Wert-Paaren. Wie JSON erlaubt auch struct mehrere Werte pro Schlüssel, aber davon wird in der Regel abgeraten.

Erweiterungen von JSON

Arten von Zahlen

Anstelle des mehrdeutigen JSON-number-Typs, definiert Amazon Ion Zahlen streng als einen der folgenden Typen:

  • int: Signierte Ganzzahlen von beliebiger Größe.

  • decimal: Dezimal-kodierte echte Zahlen von beliebiger Präzision.

  • float: Binär-kodierte Gleitkommazahlen (64-Bit-IEEE).

Beim Analysieren von Dokumenten weist ein Ion-Prozessor Zahlentypen wie folgt zu:

  • int: Zahlen ohne Exponent oder Dezimaltrennzeichen (z. B. 100200).

  • decimal: Zahlen mit einem Dezimaltrennzeichen und keinem Exponent (z. B. 0.00001, 200.0).

  • float: Zahlen mit einem Exponenten, wie z. B. einer wissenschaftlichen Notation oder E-Notation (z. B. 2e0, 3.1e-4).

Neue Datentypen

Amazon Ion fügt die folgenden Datentypen hinzu:

  • timestamp: Datums-/Uhrzeit-/Zeitzonen-Momente von beliebiger Präzision.

  • symbol: Symbolische Unicode-Atome (z. B. Kennungen).

  • blob: Binäre Daten der benutzerdefinierten Kodierung.

  • clob: Textdaten der benutzerdefinierten Kodierung.

  • sexp: Zulässige Sammlungen von Werten mit anwendungsdefinierter Semantik.

Nulltypen

Zusätzlich zu den allgemeinen Null-Typ, die von JSON definiert sind, unterstützt Amazon Ion einen eindeutigen Null-Typ für jeden primitiven Typ. Dies gibt einen fehlenden Wert an, während ein strenger Datentyp beibehalten wird.

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

Ion-Textbeispiel

// 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 ], }

API-Referenzen