翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Amazon での Amazon Ion データ形式リファレンス QLDB
重要
サポート終了通知: 既存のお客様は、07/31/2025 のサポート終了QLDBまで Amazon を使用できます。詳細については、「Amazon Ledger QLDB を Amazon Aurora Postgre に移行するSQL
Amazon は、Amazon Ion
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 仕様ドキュメント
アプリケーション開発を効率化するために、Amazon Ion は Ion データを処理するクライアントライブラリを提供します。Ion データを処理するための一般的なユースケースのコード例については、「」の「Amazon Ion クックブック
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.00001
、200.0
など)。 -
float
: 科学的記数法または E 表記法といった指数のある数値 (2e0
、3.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 ], }