步驟 5:檢視文件的修訂歷程記錄 - Amazon Quantum 賬本數據庫(AmazonQLDB)

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

步驟 5:檢視文件的修訂歷程記錄

重要

支援結束通知:現有客戶將能夠使用 Amazon,QLDB直到 2025 年 7 月 31 日終止支援為止。有關更多詳細信息,請參閱將 Amazon QLDB 分類帳遷移到 Amazon Aurora 郵政. SQL

使用修改汽車的註冊數據後 VIN 1N4AL11D75C109151,您可以查詢其所有註冊車主和任何其他更新字段的歷史記錄。您可以透過查詢內建版本來查看已插入、更新和刪除的文件的所有修訂版本歷史功能

history 函數從表的提交視圖返回修訂,其中包括應用程序數據和關聯的元數據。元數據顯示每個修訂的確切時間,以何種順序以及提交它們的交易。

在此步驟中,您會查詢vehicle-registration分類帳VehicleRegistration表格中文件的修訂歷史記錄。

若要檢視修訂歷史記錄
  1. 在以下位置打開 Amazon QLDB 控制台 https://console.aws.amazon.com/qldb

  2. 在瀏覽窗格中,選擇 PartiQL 編輯器

  3. 選擇分vehicle-registration類帳。

  4. 要查詢文檔的歷史記錄,首先找到它的唯一性id。除了查詢已提交的檢視之外,取得文件的另一種方式id是在資料表的預設使用者檢視中使用BY關鍵字。如需進一步了解,請參閱使用 BY 子句來查詢文件 ID

    在查詢編輯器視窗中,輸入下列陳述式,然後選擇 [執行]。

    SELECT r_id FROM VehicleRegistration AS r BY r_id WHERE r.VIN = '1N4AL11D75C109151'
  5. 接下來,您可以使用此id值來查詢歷史記錄功能。輸入下列陳述式,然後選擇 [執行]。請務必視情況使用您自己的文件 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查詢都會在交易中處理,且受到交易逾時限制的限制。包含開始時間和結束時間的歷史查詢可獲得日期範圍限定的好處。如需詳細資訊,請參閱 歷史功能

    歷史函數返回與提交視圖相同的模式中的文檔。此範例會投影您修改過的車輛登記資料。輸出應看起來如下列內容。

    VIN City 擁有者
    "1N4AL11D75C109151" "Seattle" {PrimaryOwner:{PersonId:""},SecondaryOwners:[]}
    "1N4AL11D75C109151" "Seattle" {PrimaryOwner:{PersonId:"294jJ3YUoH1IEEm8GSabOs"}, SecondaryOwners:[]}
    "1N4AL11D75C109151" "Everett" {PrimaryOwner:{PersonId:"7NmE8YLPbXc0IqesJy1rpR"}, SecondaryOwners:[]}
    "1N4AL11D75C109151" "Everett" {PrimaryOwner:{PersonId:"7NmE8YLPbXc0IqesJy1rpR"}, SecondaryOwners:[{PersonId:"5Ufgdlnj06gF5CWcOIu64s"}]}
    注意

    歷史記錄查詢不一定會以順序傳回文件修訂版本。

    檢閱輸出並確認變更是否反映您在中所做的操作步驟 4:修改分類帳中的文件

  6. 然後,您可以檢查每個修訂版的文檔元數據。輸入下列陳述式,然後選擇 [執行]。同樣地,請務必視情況使用您自己的文件 ID 取代該id值。

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

    輸出應看起來如下列內容。

    version id txTime txId
    0 "ADR2LQq48kB9neZDupQrMm" 2019-05-23T19:20:360d-3Z "FMoVdWuPxJg3k466Iz4i75"
    1 "ADR2LQq48kB9neZDupQrMm" 2019-05-23T21:40:199d-3Z "KWByxe842Xw8DNHcvARPOt"
    2 "ADR2LQq48kB9neZDupQrMm" 2019-05-23T21:44:432d-3Z "EKwDOJRwbHpFvmAyJ2Kdh9"
    3 "ADR2LQq48kB9neZDupQrMm" 2019-05-23T21:49:254d-3Z "96EiZd7vCmJ6RAvOvTZ4YA"

    這些中繼資料欄位會提供每個項目的修改時間以及哪些交易的詳細資訊。從這些數據中,您可以推斷出以下內容:

    • 文件由其系統指定的id:ADR2LQq48kB9neZDupQrMm唯一識別。這是一個通用的唯一標識符(UUID),以 Base62 編碼的字符串表示。

    • txTime顯示文件 (版本0) 的初始版本修訂是在建立的2019-05-23T19:20:360d-3Z

    • 每個後續異動都會建立具有相同文件id、遞增的版本編號以及更txId新的和的新修訂版本。txTime

若要以密碼方式驗證vehicle-registration分類帳中的文件版次,請繼續執行步驟 6:驗證分類帳中的文件