在中建立和管理串流 QLDB - Amazon Quantum 賬本數據庫(AmazonQLDB)

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

在中建立和管理串流 QLDB

重要

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

Amazon QLDB 提供各種API操作來建立和管理從分類帳到 Amazon Kinesis 資料串流的日誌資料串流。QLDB串流會擷取提交至日誌的每個文件修訂版,並將其傳送至 Kinesis 資料串流。

您可以使用 AWS Management Console,一個 AWS SDK,或 AWS Command Line Interface (AWS CLI) 以建立日誌串流。此外,您還可以使用 AWS CloudFormation模板來創建流。如需詳細資訊,請參閱AWS:QLDB:: Stream 資源 AWS CloudFormation 用戶指南

串流參數

若要建立QLDB日誌串流,您必須提供下列設定參數:

分類帳名稱

您要將其日誌資料串流至 Kinesis Data Streams 的分QLDB類帳。

串流名稱

您要指派給QLDB日誌串流的名稱。使用者定義的名稱可協助識別和指示串流用途。

對於特定分類帳,您的串流名稱在其他作用中串流間必須是唯一的。如中所定義,串流名稱與分類帳名稱具有相同的命名限制Amazon 的配額和限制 QLDB

除了串流名稱之外,還會為您建立的每個QLDB串流QLDB指派一個串流 ID。串流 ID 在指定分類帳的所有串流中是唯一的,無論其狀態為何。

開始日期和時間

開始串流日誌資料的日期和時間。此值可以是過去的任何日期和時間,但不能在 future。

結束日期和時間

(選擇性) 指定串流結束時間的日期和時間。

如果您建立沒有結束時間的無限期串流,則必須手動取消串流才能結束串流。您也可以取消尚未到達指定結束日期和時間的活動有限串流。

目的地 Kinesis 資料串流

Kinesis 資料串流目標資源,串流將資料記錄寫入的目標資源。若要了解如何建立 Kinesis 資料串流,請參閱 Amazon Kinesis 資料串流開發人員指南中的建立和更新資料串流

重要
  • 不支援跨區域和跨帳戶串流。指定的 Kinesis 資料串流必須相同 AWS 區域 並將其記錄為您的分類帳。

  • Kinesis Data Streams 中的記錄彙總預設為啟用。此選項可讓您在單一 Kinesis 資料串流記錄中QLDB發佈多個資料記錄,從而增加每次API呼叫傳送的記錄數量。

    記錄彙總對於處理記錄具有重要意義,並且需要在串流取用者中進行解除彙總。若要進一步了解,請參閱 Amazon Kinesis Data Streams 開發人員指南中的KPL關鍵概念消費者解除彙總

IAM角色

允許QLDB假定 Kinesis 資料串流寫入權限的IAM角色。您可以使用主QLDB控台自動建立此角色,也可以在中手動建立此角色IAM。若要瞭解如何手動建立它,請參閱串流權限

若要在要求日誌串流QLDB時將角色傳遞給,您必須擁有對IAM角色資源執行iam:PassRole動作的權限。

串流 ARN

每個QLDB日誌資料流都是分類帳的子資源,並以 Amazon 資源名稱 (ARN) 唯一識別。以下是名為ARN之總帳的QLDB串流 ID IiPT4brpZCqCq3f4MTHbYy 為的串流範例exampleLedger

arn:aws:qldb:us-east-1:123456789012:stream/exampleLedger/IiPT4brpZCqCq3f4MTHbYy

下節說明如何建立和取消QLDB串流 AWS Management Console.

AWS Management Console

請依照下列步驟使用QLDB主控台建立或取消QLDB串流。

若要建立串流 (主控台)
  1. 登入 AWS Management Console,然後在 https://console.aws.amazon.com/q ldb 開啟 Amazon QLDB 主控台。

  2. 在導覽窗格中,選擇 Data Streams (資料串流)。

  3. 選擇 Create QLDB stream (建立 &AK; 串流)

  4. 在 [建立QLDB串流] 頁面上,輸入下列設定:

    • 資料流名稱 — 您要指派給QLDB串流的名稱。

    • 類帳 — 您要串流其分錄資料的分類帳。

    • 開始日期和時間 — 以協調世界時間 (UTC) 表示的包含時間戳記,用於開始串流日誌資料。此時間戳記預設為目前的日期和時間。它不能在 future,而且必須早於「結束」日期和時間

    • 束日期和時間 — (選擇性) 獨佔時間戳記 (UTC),用於指定串流結束時間。如果將此參數保持空白,則串流會無限期執行,直到您取消為止。

    • 目標串流 — Kinesis Data Stre ams 目標資源,您的串流將資料記錄寫入的目標資源。請使用下列ARN格式。

      arn:aws:kinesis:aws-region:account-id:stream/kinesis-stream-name

      以下是範例。

      arn:aws:kinesis:us-east-1:123456789012:stream/stream-for-qldb

      不支援跨區域和跨帳戶串流。指定的 Kinesis 資料串流必須位於相同 AWS 區域 並將其記錄為您的分類帳。

    • 啟用 Kinesis Data Streams 中的記錄彙總 — (預設為啟用) 可讓您在單一 Kinesis 資料串流記錄中QLDB發佈多個資料記錄,從而增加每次API呼叫傳送的記錄數。

    • 服務存取 — 授與 Kinesis 資料串流QLDB寫入權限的IAM角色。

      若要在要求日誌串流QLDB時將角色傳遞給,您必須擁有對IAM角色資源執行iam:PassRole動作的權限。

      • 建立並使用新的服務角色 — 讓主控台為您建立具有指定 Kinesis 資料串流所需權限的新角色。

      • 使用現有的服務角色 — 若要瞭解如何在中手動建立此角色IAM,請參閱串流權限

    • 標籤 — (選用) 將標籤附加為索引鍵值配對,以將中繼資料新增至串流。您可以在直播中新增標記,以協助整理和識別它們。如需詳細資訊,請參閱標記 Amazon QLDB 資源

      選擇 [新增標籤],然後視需要輸入任何索引鍵值配對。

  5. 如果設定符合您的需求,請選擇 [建立QLDB串流]。

    如果您的要求提交成功,主控台會返回「串流」主頁面,並列出QLDB串流的目前狀態。

  6. 串流作用中後,請使用 Kinesis 透過消費者應用程式處理串流資料。

    https://console.aws.amazon.com/kinesis/開啟 Kinesis Data Streams 主控台。

如需有關串流資料記錄格式的資訊,請參閱QLDBKinesis 中的串流記錄

若要瞭解如何處理導致錯誤的串流,請參閱處理受損的流

若要取消串流 (主控台)

取消QLDB串流後,您無法重新啟動該串流。若要繼續將資料傳遞至 Kinesis Data Streams,您可以建立新串QLDB流。

  1. https://console.aws.amazon.com/q ldb 開啟 Amazon QLDB 主控台。

  2. 在導覽窗格中,選擇 Data Streams (資料串流)。

  3. 在QLDB串流清單中,選取您要取消的作用中串流。

  4. 選擇 [取消串流]。在提供的方塊cancel stream中輸入以確認此操作。

如需有關搭配使用QLDBAPI的資訊 AWS SDK或 AWS CLI 若要建立和管理日誌串流,請參閱使用串流進行開發 QLDB

流狀態

QLDB串流的狀態可以是下列其中一種:

  • ACTIVE— 目前正在流式傳輸或等待流數據(對於沒有結束時間的無限期流)。

  • COMPLETED— 已成功完成在指定時間範圍內的所有日誌區塊串流。這是一個終端狀態。

  • CANCELED— 在指定的結束時間之前由使用者要求結束,且不再主動串流資料。這是一個終端狀態。

  • IMPAIRED— 由於發生需要您採取動作的錯誤,因此無法將記錄寫入 Kinesis。這是一個可恢復的非終端狀態。

    如果您在一小時內解決錯誤,串流會自動移至ACTIVE狀態。如果錯誤在一小時後仍未解決,串流會自動移至FAILED狀態。

  • FAILED— 由於錯誤而無法將記錄寫入 Kinesis,且處於無法復原的終止狀態。

下圖說明QLDB串流資源如何在狀態之間轉換。

狀態圖顯示QLDB串流資源如何在使用中、已取消、已完成、受損和失敗狀態之間轉換。

終端機串流的到期日

處於終止狀態 (CANCELEDCOMPLETED、和FAILED) 的串流資源會受到 7 天的保留期限。在此限制到期後,系統會自動將它們硬刪除。

刪除終端機串流後,您QLDBAPI將無法再使用QLDB主控台或描述或列出串流資源。

處理受損的流

如果您的串流遇到錯誤,則會先移至IMPAIRED狀態。QLDB最多可持續重試IMPAIRED串流一小時。

如果您在一小時內解決錯誤,串流會自動移至ACTIVE狀態。如果錯誤在一小時後仍未解決,串流會自動移至FAILED狀態。

受損或失敗的串流可能會造成下列其中一個錯誤原因:

  • KINESIS_STREAM_NOT_FOUND— 目的地 Kinesis Data Streams 資源不存在。確認您在串流請求中提供的 Kinesis 資料QLDB串流是否正確。然後,移至 Kinesis 並建立您指定的資料串流。

  • IAM_PERMISSION_REVOKED— QLDB 沒有足夠的權限將資料記錄寫入指定的 Kinesis 資料串流。確認您是否為指定的 Kinesis 資料串流定義政策,以授與下列動作的QLDB服務 (qldb.amazonaws.com) 權限:

    • kinesis:PutRecord

    • kinesis:PutRecords

    • kinesis:DescribeStream

    • kinesis:ListShards

監控受損的流

如果串流受損,QLDB主控台會顯示橫幅,其中顯示有關串流及其所遇到錯誤的詳細資料。您也可以使用該DescribeJournalKinesisStreamAPI操作來獲取流的狀態和基礎錯誤原因。

此外,您可以使 CloudWatch 用 Amazon 建立監控串流指IsImpaired標的警示。如需監視測QLDB量結果的相關資訊 CloudWatch,請參閱Amazon QLDB 維度和指標