

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

# 步驟 6：驗證分類帳中的文件
<a name="getting-started-step-6"></a>

**重要**  
支援終止通知：現有客戶將可以使用 Amazon QLDB，直到 07/31/2025 的支援結束為止。如需詳細資訊，請參閱[將 Amazon QLDB Ledger 遷移至 Amazon Aurora PostgreSQL](https://aws.amazon.com/blogs/database/migrate-an-amazon-qldb-ledger-to-amazon-aurora-postgresql/)。

透過 Amazon QLDB，您可以使用密碼編譯雜湊搭配 SHA-256，有效率地驗證 分類帳日誌中文件的完整性。在此範例中，Alexis 和 Brent 決定在車輛中與汽車經銷商`1N4AL11D75C109151`的 VIN 交易，以升級至新模型。經銷商會透過向註冊辦公室驗證車輛的所有權來啟動程序。

若要進一步了解驗證和密碼編譯雜湊如何在 QLDB 中運作，請參閱 [Amazon QLDB 中的資料驗證](verification.md)。

在此步驟中，您會驗證 `vehicle-registration` 分類帳中的文件修訂。首先，您請求摘要，該摘要會傳回為輸出檔案，並做為您分類帳整個變更歷史記錄的簽章。然後，您請求與該摘要相關的修訂證明。使用此驗證，如果所有驗證檢查都通過，則會驗證修訂的完整性。

## 請求摘要
<a name="getting-started-step-6.digest"></a>

1. 在 [https://console.aws.amazon.com/qldb](https://console.aws.amazon.com/qldb)：// 開啟 Amazon QLDB 主控台。

1. 在導覽窗格中，選擇 **Ledgers**。

1. 在分類帳清單中，選取 `vehicle-registration`。

1. 選擇**取得摘要**。**Get 摘要**對話方塊會顯示下列摘要詳細資訊：
   + **摘要** – 您請求的摘要的 SHA-256 雜湊值。
   + **摘要提示地址** – 您請求的摘要所涵蓋日誌中的最新[區塊](verification.md#verification.structure)位置。地址有兩個欄位：
     + `strandId` – 包含 區塊之日誌鏈的唯一 ID。
     + `sequenceNo` – 索引號碼，指定 鏈中區塊的位置。
   + **分類帳** – 您請求摘要的分類帳名稱。
   + **日期** – 您請求摘要時的時間戳記。

1. 檢閱摘要資訊。然後選擇 **Save** (儲存)。您可以保留預設檔案名稱，或輸入新的名稱。

   此步驟會儲存純文字檔案，其中包含 [Amazon Ion](ion.md) 格式的內容。檔案的檔案名稱副檔名為 ，`.ion.txt`並包含上述對話方塊中列出的所有摘要資訊。以下是摘要檔案內容的範例。欄位的順序可能會因您的瀏覽器而異。

   ```
   {
     "digest": "42zaJOfV8iGutVGNaIuzQWhD5Xb/5B9lScHnvxPXm9E=",
     "digestTipAddress": "{strandId:\"BlFTjlSXze9BIh1KOszcE3\",sequenceNo:73}",
     "ledger": "vehicle-registration",
     "date": "2019-04-17T16:57:26.749Z"
   }
   ```

1. 儲存此檔案，以便稍後存取。在下列步驟中，您會使用此檔案來驗證文件修訂版本。

儲存分類帳摘要之後，您可以開始驗證文件修訂與該摘要的相對程序。

**注意**  
在用於驗證的生產使用案例中，您使用先前儲存的摘要，而不是連續執行兩個任務。最佳實務是，一旦您想要稍後驗證的修訂寫入日誌時，請求並儲存摘要。

## 驗證文件修訂
<a name="getting-started-step-6.verify"></a>

1. 首先，查詢您的分類帳，尋找您要驗證之文件修訂版`blockAddress`的 `id`和 。這些欄位包含在文件的中繼資料中，您可以在遞交檢視中查詢。

   文件`id`是系統指派的唯一 ID 字串。是一種 `blockAddress` Ion 結構，可指定提交修訂的區塊位置。

   在 QLDB 主控台的導覽窗格中，選擇 **PartiQL 編輯器**。

1. 選擇`vehicle-registration`分類帳。

1. 在查詢編輯器視窗中，輸入下列陳述式，然後選擇**執行**。

   ```
   SELECT r.metadata.id, r.blockAddress
   FROM _ql_committed_VehicleRegistration AS r 
   WHERE r.data.VIN = '1N4AL11D75C109151'
   ```

1. 複製並儲存查詢傳回的 `id`和 `blockAddress`值。請務必省略 `id` 欄位的雙引號。在 Amazon Ion 中，字串資料類型會以雙引號分隔。

1. 現在您已選取文件修訂版本，您可以開始驗證該修訂版本的程序。

   在導覽窗格中，選擇**驗證**。

1. 在**驗證文件**表單中，在**指定您要驗證的文件**下，輸入下列輸入參數：
   + **分類帳** – 選擇 `vehicle-registration`。
   + **封鎖地址** – 步驟 3 中查詢傳回`blockAddress`的值。
   + **文件 ID** – 步驟 3 中查詢傳回`id`的值。

1. 在**指定要用於驗證的摘要**下，選擇**選擇摘要來選取您先前儲存的摘要**。如果檔案有效，此會自動填入主控台上的所有摘要欄位。或者，您可以直接從摘要檔案手動複製和貼上下列值：
   + **摘要** – 摘要檔案`digest`的值。
   + **摘要提示地址** – 摘要檔案`digestTipAddress`的值。

1. 檢閱您的文件並摘要輸入參數，然後選擇**驗證**。

   主控台會為您自動化兩個步驟：

   1. 向 QLDB 請求您指定文件的證明。

   1. 使用 QLDB 傳回的驗證來呼叫用戶端 API，以根據提供的摘要驗證您的文件修訂。

   主控台會在**驗證結果**卡中顯示請求的結果。如需詳細資訊，請參閱[驗證結果](verification.results.md)。

1. 若要測試驗證邏輯，請重複步驟 6–8 **以驗證文件修訂**，但變更**摘要**輸入字串中的單一字元。這應該會導致您的**驗證**請求失敗，並顯示適當的錯誤訊息。

如果您不再需要使用`vehicle-registration`分類帳，請繼續 [步驟 7 （選用）：清除資源](getting-started-step-7.md)。