Amazon での Amazon Ion データ形式リファレンス QLDB - Amazon Quantum 台帳データベース (Amazon QLDB)

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Amazon での Amazon Ion データ形式リファレンス QLDB

重要

サポート終了通知: 既存のお客様は、07/31/2025 のサポート終了QLDBまで Amazon を使用できます。詳細については、「Amazon Ledger QLDB を Amazon Aurora Postgre に移行するSQL」を参照してください。

Amazon は、Amazon IonPartiQL タイプのサブセットと統合するデータ表記モデルQLDBを使用します。このセクションでは、Ion ドキュメントデータ形式のリファレンス概要を、PartiQL との統合とは別に紹介します。

Amazon での PartiQL を使用した Ion のクエリ QLDB

で PartiQL を使用して Ion データをクエリする構文とセマンティクスについてはQLDB、「Amazon QLDB PartiQL リファレンスPartiQL での Ion のクエリ」の「」を参照してください。

QLDB 台帳内の Ion データをクエリして処理するコード例については、Amazon Ion コード例「」および「」を参照してくださいAmazon Ion の操作

Amazon Ion の概要

Ion は、Amazon 内部で独自に開発された、オープンソースでリッチタイプの自己記述型階層データシリアル化フォーマットです。Ion は、構造化データと非構造化データの両方を一緒に保存する抽象データモデルに基づいています。これは のスーパーセットです。つまりJSON、有効なJSONドキュメントは有効な Ion ドキュメントでもあります。このガイドでは、 に関する基本的な作業知識を前提としていますJSON。にまだ慣れていない場合はJSON、「 JSONの紹介」を参照してください。

Ion ドキュメントは、人間が読めるテキスト形式またはバイナリエンコード形式で互換的に表記できます。と同様にJSON、テキストフォームは読み書きが容易で、ラピッドプロトタイピングをサポートします。バイナリエンコード形式はよりコンパクトで、効率よく保持、送信および解析できます。Ion プロセッサは、データ喪失なく同じデータ構造セットを正確に再現できるように、両形式間でコードを変換できます。この機能によって、アプリケーションはさまざまなユースケースに応じてデータを処理方法を最適化できます。

注記

Ion データモデルは厳格な値ベースであり、リファレンスはサポートしていません。このため Ion データモデルでは、任意の深さまでネストできるデータ階層を表すことはできますが、有向グラフを表すことはできません。

Ion 仕様

詳細な説明と値の書式設定の詳細を含む Ion コアデータ型の詳細なリストについては、Amazon サイトの Ion 仕様ドキュメントを参照してください。 GitHub

アプリケーション開発を効率化するために、Amazon Ion は Ion データを処理するクライアントライブラリを提供します。Ion データを処理するための一般的なユースケースのコード例については、「」の「Amazon Ion クックブック」を参照してください GitHub。

JSON 互換

と同様にJSON、プリミティブデータ型のセットと再帰的に定義されたコンテナ型のセットを使用して Amazon Ion ドキュメントを作成します。Ion には、次の従来のJSONデータ型が含まれています。

  • null: 汎用型なし null (空) 値。加えて Ion は、以下のセクションにも記載されているとおり、プリミティブ型ごとに個別の null 型をサポートしています。

  • bool: ブール値。

  • string: Unicode 文字リテラル。

  • list: 異種値の順序付きコレクション。

  • struct: 名前と値のペアの順序なしコレクション。と同様にJSON、 は名前ごとに複数の値structを許可しますが、通常は推奨されません。

からの拡張機能 JSON

番号タイプ

あいまいなJSONnumberタイプの代わりに、Amazon Ion は数値を次のいずれかのタイプとして厳密に定義します。

  • int: 任意の大きさの符号付き整数。

  • decimal: 任意精度の 10 進数エンコード実数。

  • float: バイナリエンコードされた浮動小数点数 (64 ビット IEEE)。

ドキュメントを解析する場合、Ion プロセッサは次のように数値型を割り当てます。

  • int: 指数も小数点もない数値 (100200 など)。

  • decimal: 小数点はあるが指数はない数値 (0.00001200.0 など)。

  • float: 科学的記数法または E 表記法といった指数のある数値 (2e03.1e-4 など)。

新しいデータ型

Amazon Ion には次のデータ型が追加されています。

  • timestamp: 任意精度の日付/時刻/タイムゾーン。

  • symbol: Unicode シンボリックアトム (識別子など)。

  • blob: ユーザー定義エンコードのバイナリデータ。

  • clob: ユーザー定義エンコードのテキストデータ。

  • sexp: アプリケーション定義のセマンティクスを持つ値の順序付きコレクション。

null 型

Amazon Ion は、 で定義される汎用 null タイプに加えてJSON、プリミティブタイプごとに個別の null タイプをサポートします。この型は、厳格なデータ型を維持できる値がないことを示します。

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 テキストの例

// 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 リファレンス