

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

# ステップ 5: ドキュメントのリビジョン履歴を表示する
<a name="getting-started-step-5"></a>

**重要**  
サポート終了通知: 既存のお客様は、07/31/2025 のサポート終了まで Amazon QLDB を使用できます。詳細については、[「Amazon QLDB 台帳を Amazon Aurora PostgreSQL に移行する](https://aws.amazon.com/blogs/database/migrate-an-amazon-qldb-ledger-to-amazon-aurora-postgresql/)」を参照してください。

VIN が ` 1N4AL11D75C109151` の車両の登録データを変更した後、登録されているすべての所有者やその他の更新されたすべてのフィールドの履歴のクエリを実行できます。組み込みの[履歴関数](working.history.md#working.history.function)にクエリを実行することによって、挿入、更新、削除したドキュメントのすべてのリビジョンを表示できます。

履歴関数は、テーブルの*コミット済みビュー*からリビジョンを返します。これには、アプリケーションのデータとそれに関連するメタデータの両方が含まれます。このメタデータには、それぞれのリビジョンがいつ、どの順番で作成されたか、またどのトランザクションによってコミットされたかが正確に示されます。

このステップでは、`vehicle-registration` 台帳の `VehicleRegistration` テーブルに含まれているドキュメントのリビジョン履歴のクエリを実行します。

**リビジョン履歴を表示するには**

1. Amazon QLDB コンソール ([https://console.aws.amazon.com/qldb](https://console.aws.amazon.com/qldb)) を開きます。

1. ナビゲーションペイン内で **[PartiQL エディタ]** を選択します。

1. `vehicle-registration` 台帳を選択します。

1. ドキュメントの履歴にクエリを実行するには、まずその一意の `id` を検索します。コミット済みビューにクエリを実行する以外に、ドキュメント `id` を取得する方法として、テーブルのデフォルトのユーザービューで `BY` キーワードを使用する方法があります。詳細については、「[BY 句を使用したドキュメント ID のクエリの実行](working.metadata.by-clause.md)」を参照してください。

   クエリエディタウィンドウで、以下のステートメントを入力し、[**Run (実行)**] を選択します。

   ```
   SELECT r_id FROM VehicleRegistration AS r BY r_id
   WHERE r.VIN = '1N4AL11D75C109151'
   ```

1. 次に、この `id` の値を使用して、履歴関数にクエリを実行します。次のステートメントを入力し、[**Run (実行)**] を選択します。必要に応じて、`id` 値を独自のドキュメント ID に置き換えてください。

   ```
   SELECT h.data.VIN, h.data.City, h.data.Owners
   FROM history(VehicleRegistration) AS h
   WHERE h.metadata.id = 'ADR2LQq48kB9neZDupQrMm' --replace with your id
   ```
**注記**  
このチュートリアルでは、この履歴クエリはドキュメント ID `ADR2LQq48kB9neZDupQrMm` のすべてのリビジョンを返します。ただし、ベストプラクティスとして、履歴クエリをドキュメント ID と日付範囲 (開始時刻および終了時刻) の両方で修飾します。  
QLDB では、すべての `SELECT` クエリはトランザクションで処理され、[トランザクションタイムアウト制限](limits.md#limits.fixed)の対象になります。開始時刻と終了時刻を含む履歴クエリでは、日付範囲修飾のメリットが得られます。詳細については、「[履歴関数](working.history.md#working.history.function)」を参照してください。

   履歴関数は、コミット済みビューと同じスキーマ内にあるドキュメントを返します。この例では、修正した車両登録データが射影されます。出力は以下の例のようになります。  
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/qldb/latest/developerguide/getting-started-step-5.html)
**注記**  
履歴クエリでは、ドキュメントのリビジョンが順番に返されない場合があります。

   出力を見て、変更が「[ステップ 4: 台帳のドキュメントを変更する](getting-started-step-4.md)」で行った内容を反映していることを確認します。

1. 次に、各リビジョンのドキュメントメタデータを調べることができます。次のステートメントを入力し、[**Run (実行)**] を選択します。ここでも、必要に応じて、`id` 値を独自のドキュメント ID に置き換えてください。

   ```
   SELECT VALUE h.metadata
   FROM history(VehicleRegistration) AS h
   WHERE h.metadata.id = 'ADR2LQq48kB9neZDupQrMm' --replace with your id
   ```

   出力は次の例のようになります。  
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/qldb/latest/developerguide/getting-started-step-5.html)

   これらのメタデータフィールドは、各項目がいつ、どのトランザクションによって変更されたかを示す詳細を提供します。このデータからは、以下を推測できます。
   + ドキュメントはシステムによって割り当てられた `id`: `ADR2LQq48kB9neZDupQrMm` で個々に識別されます。これは Base62 でエンコードされた文字列で表される汎用一意識別子 (UUID) です。
   + `txTime` は、ドキュメントの最初のリビジョン (バージョン `0`) が `2019-05-23T19:20:360d-3Z` に作成されたことを示しています。
   + その後の各トランザクションにより、同じドキュメント `id`、増分されたバージョン番号、および更新された `txId` と `txTime` を含む新しいリビジョンが作成されます。

`vehicle-registration` 台帳のドキュメントリビジョンを暗号的に検証するには、「[ステップ 6: 台帳のドキュメントを検証する](getting-started-step-6.md)」に進みます。