ステップ 2: でデータを検証する QLDB - Amazon Quantum 台帳データベース (Amazon QLDB)

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

ステップ 2: でデータを検証する QLDB

重要

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

Amazon QLDBは、指定されたドキュメント ID および関連するブロックの証明をリクエストAPIするための を提供します。「ステップ 1: でダイジェストをリクエストする QLDB」で説明されているように、過去に保存したダイジェストのティップアドレスも指定する必要があります。を使用できます。 AWS Management Console、 AWS SDK、または AWS CLI 証明を取得するには、 を使用します。

次に、 によって返された証明を使用してQLDB、クライアント側 を使用して、保存されたダイジェストと照らし合わせてドキュメントリビジョンを検証できますAPI。これにより、お客様は、データ検証に使用するアルゴリズムを制御できます。

AWS Management Console

このセクションでは、Amazon QLDBコンソールを使用して、以前に保存したダイジェストに対してドキュメントリビジョンを検証する手順について説明します。

始める前には必ず「ステップ 1: でダイジェストをリクエストする QLDB」のステップに従ってください。検証には、検証するドキュメントリビジョンを対象としている、過去に保存したダイジェストが必要です。

ドキュメントリビジョンを検証するには (コンソール)
  1. https://console.aws.amazon.com/qldb で Amazon QLDBコンソールを開きます。

  2. 最初に、検証するリビジョンの idblockAddress に関するクエリを台帳に対して実行します。これらのフィールドはドキュメントのメタデータに含まれており、コミット済みビューでクエリを実行できます。

    ドキュメント id は、システムによって割り当てられた一意の ID 文字列です。blockAddress は、リビジョンがコミットされたブロックの位置を指定する Ion 構造です。

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

  3. リビジョンを検証する台帳名を選択します。

  4. クエリエディタウィンドウ内で SELECT 文を下記の構文に入力し、[Run (実行)] を選択します。

    SELECT metadata.id, blockAddress FROM _ql_committed_table_name WHERE criteria

    例えば、以下のクエリは、「Amazon QLDBコンソールの開始方法」で作成されたサンプル台帳の VehicleRegistration テーブルのドキュメントを返します。

    SELECT r.metadata.id, r.blockAddress FROM _ql_committed_VehicleRegistration AS r WHERE r.data.VIN = 'KM8SRDHF6EU074761'
  5. クエリによって返された idblockAddress の値をコピーし、保存します。id フィールドの二重引用符は必ず省略してください。Amazon Ion では、文字列データ型は二重引用符で区切られます。たとえば、以下のスニペットでは、英数文字のテキストのみをコピーする必要があります。

    "LtMNJYNjSwzBLgf7sLifrG"

  6. これでドキュメントリビジョンが選択されたため、検証プロセスを開始できます。

    ナビゲーションペイン内で [Verification (検証)] を選択します。

  7. [Verify document (ドキュメントの検証)] フォームの [Specify the document that you want to verify (検証するドキュメントの指定)] に、次の入力パラメータを入力します。

    • [Ledger] (台帳) - リビジョンを検証する台帳。

    • [ブロックアドレス] - ステップ 4 のクエリで返された blockAddress 値。

    • [ドキュメント ID] - ステップ 4 のクエリで返された id 値。

  8. [Specify the digest to use for verification (検証に使用するダイジェストの指定)] で、[Choose digest (ダイジェストの選択)] を選択することで、以前に保存されたダイジェストを選択します。ファイルが有効であれば、コンソールにあるすべてのダイジェストフィールドにデータが自動入力されます。また、以下の値をダイジェストファイルから手動で直接コピーして貼り付けることもできます。

    • [Digest] (ダイジェスト) - ダイジェストファイルからの digest 値。

    • [Digest tip address] (ダイジェストティップアドレス) - ダイジェストファイルからの digestTipAddress 値。

  9. ドキュメントおよびダイジェストの入力パラメータを再確認し、[Verify (検証)] を選択します。

    コンソールが次の 2 つのステップを自動的に実行します。

    1. 指定したドキュメントQLDBの証明を にリクエストします。

    2. によって返された証明を使用してQLDB、クライアント側の を呼び出します。これによりAPI、提供されたダイジェストに対してドキュメントリビジョンが検証されます。この検証のアルゴリズムを調べるには、以下のセクション「QLDB API」を参照し、サンプルコードをダウンロードしてください。

    コンソールの [Verification results (検証結果)] カードに、リクエストの結果が表示されます。詳細については、「検証結果」を参照してください。

QLDB API

で Amazon を使用してドキュメントリビジョンを確認することもできますQLDBAPI。 AWS SDK または AWS CLI。 QLDB API では、アプリケーションプログラムで使用できるように、以下のオペレーションが用意されています。

  • GetDigest - ジャーナル内の最後にコミットされたブロックにある台帳のダイジェストを返します。応答には、256 ビットのハッシュ値とブロックアドレスが含まれます。

  • GetBlock - ジャーナルの指定されたアドレスにあるブロックオブジェクトを返します。また、DigestTipAddress が指定されている場合は、指定されたブロックの証明を検証のために返します。

  • GetRevision - 指定されたドキュメント ID とブロックアドレスのリビジョンデータオブジェクトを返します。また、DigestTipAddress が指定されている場合は、指定されたリビジョンの証明を検証のために返します。

これらのAPIオペレーションの詳細については、「」を参照してくださいAmazon QLDBAPIリファレンス

を使用したデータの検証については、「」を参照してください。 AWS CLI、「」を参照してください。 AWS CLI コマンドリファレンス

サンプルアプリケーション

Java コードの例については、 GitHub リポジトリ aws-samples/amazon-qldb-dmv-sample-java を参照してください。このサンプルアプリケーションをダウンロードしてインストールする方法については、「Amazon QLDBJava サンプルアプリケーションのインストール」を参照してください。検証を実行する前に、「Java チュートリアル」のステップ 1~3 を実行し、サンプル台帳を作成して、サンプルデータを使用してロードしてください。

クラス のチュートリアルコードGetRevisionは、ドキュメントリビジョンの証明をリクエストし、そのリビジョンを検証する例を示しています。このクラスは以下のステップを実行します。

  1. サンプル台帳 vehicle-registration から新しいダイジェストをリクエストします。

  2. vehicle-registration 台帳の VehicleRegistration テーブルに、サンプルのドキュメントリビジョンのプルーフをリクエストします。

  3. 返されたダイジェストとプルーフを使用してサンプルリビジョンを検証します。