第 2 步:在中验证您的数据 QLDB - 亚马逊 Quantum Ledger 数据库(亚马逊QLDB)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

第 2 步:在中验证您的数据 QLDB

重要

终止支持通知:现有客户将能够使用亚马逊,QLDB直到 2025 年 7 月 31 日终止支持。有关更多详细信息,请参阅将亚马逊QLDB账本迁移到亚马逊 Aurora Postgr SQL e。

Amazon QLDB API 提供的,用于请求提供特定文件编号及其相关区块的证据。您还必须提供之前保存的摘要的提示地址,如第 1 步:请求摘要 QLDB中所述。您可以使用 AWS Management Console,一个 AWS SDK,或者 AWS CLI 以获得证据。

然后,您可以使用返回的证明通过QLDB客户端API根据保存的摘要来验证文档的修订版本。这使您能够控制用于验证数据的算法。

AWS Management Console

本节介绍使用亚马逊QLDB控制台根据先前保存的摘要验证文档修订的步骤。

开始之前,请确保您已完成 第 1 步:请求摘要 QLDB 中的步骤。验证需要先前保存的摘要,其中包含您要验证的修订。

验证文档修订(控制台)
  1. https://console.aws.amazon.com/ql d QLDB b 上打开亚马逊控制台。

  2. 首先,在分类账中查询要验证的文档修订的 idblockAddress。这些字段包含在文档的元数据中,您可以在提交视图中查询它们。

    文档 id 是系统分配的唯一 ID 字符串。blockAddress 是一种 Ion 结构,用于指定提交修订版本的区块位置。

    在导航窗格中,选择 ‬PartiQL 编辑器

  3. 选择要验证修订的分类帐名称。

  4. 在查询编辑器中输入类似以下内容的语句,然后选择 SELECTRun Query(运行查询),或者按

    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. 您已经选择了文档修订版,现在可以开始对其进行验证。

    在导航窗格中选择验证

  7. 在“验证文档”表单中,在“指定要验证的文档”下,输入以下输入参数:

    • 分类账-您要在其中验证修订的分类账。

    • 区块地址 - 您在步骤 4 中查询返回的blockAddress值。

    • 文档 ID - 您在步骤 4 中查询返回的 id 值。

  8. 在“指定要验证的摘要”下,通过选择“选择摘要”,选择之前保存的摘要。如果文件有效,则会自动填充控制台上的所有摘要字段。或者,您可以直接从摘要文件中手动复制和粘贴以下值:

    • 摘要 - 摘要文件中的 digest 值。

    • 摘要提示地址 - 摘要文件中的 digestTipAddress 值。

  9. 查看您的文档和摘要输入参数,然后选择Verify(验证)

    控制台为您自动执行两个步骤:

    1. 向表中索QLDB取您指定文件的证明。

    2. 使用返回的证明调QLDB用客户端API,客户端根据提供的摘要验证您的文档修订版本。要查看此验证算法,请参阅下一节QLDB API以下载代码示例。

    控制台在验证结果卡中显示您的请求结果。有关更多信息,请参阅 验证结果

QLDB API

您也可以使用QLDBAPI带有 Amazon 的 Amazon 来验证文档修订版 AWS SDK或者 AWS CLI。 QLDBAPI提供了以下操作供应用程序使用:

  • GetDigest — 返回日记账中最新提交区块的分类账摘要。响应包括一个 256 位的哈希值和一个块地址。

  • GetBlock — 返回日记账中指定地址的数据块对象。如果 DigestTipAddress 已提供,还会返回指定数据块的证明以供验证。

  • GetRevision — 返回指定文档 ID 和块地址的修订数据对象。如果 DigestTipAddress 已提供,还将返回指定修订的用于验证的证明。

有关这些API操作的完整说明,请参阅亚马逊QLDBAPI参考资料

有关使用验证数据的信息 AWS CLI,请参阅 AWS CLI 命令参考

示例应用程序

有关 Java 代码示例,请参阅 GitHub 存储库 a ws-samples/-amazon-qldb-dmv-sample java。有关如何下载和安装此示例应用程序的说明,请参阅 安装 Amazon QLDB Java 示例应用程序。在进行验证之前,请确保按照 Java 教程 中的步骤 1-3 创建一个示例分类帐并用示例数据加载它。

课堂中的教程代码GetRevision提供了一个示例,说明如何请求文档修订版的证据,然后验证该修订版。此类运行以下步骤:

  1. 从示例分类账中请求新的摘要vehicle-registration

  2. 请求从 vehicle-registration 分类帐中的 VehicleRegistration 表中获取示例文档修订的证明。

  3. 使用返回的摘要和证明验证示例修订。