本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
在 QLDB 中建立和管理串流
重要
支援終止通知:現有客戶將可以使用 Amazon QLDB,直到 07/31/2025 的支援結束為止。如需詳細資訊,請參閱將 Amazon QLDB Ledger 遷移至 Amazon Aurora PostgreSQL
Amazon QLDB 提供 API 操作,以建立和管理從分類帳到 Amazon Kinesis Data Streams 的日誌資料串流。QLDB 串流會擷取遞交至日誌的每個文件修訂,並將其傳送至 Kinesis 資料串流。
您可以使用 AWS Management Console、 AWS 開發套件或 AWS Command Line Interface (AWS CLI) 來建立日誌串流。此外,您也可以使用 AWS CloudFormation
串流參數
若要建立 QLDB 日誌串流,您必須提供下列組態參數:
- 分類帳名稱
-
您要串流至 Kinesis Data Streams 的日誌資料之 QLDB 分類帳。
- 串流名稱
-
您要指派給 QLDB 日誌串流的名稱。使用者定義的名稱可協助識別和指示串流用途。
對於特定分類帳,您的串流名稱在其他作用中串流間必須是唯一的。串流名稱的命名限制與分類帳名稱相同,如 中所定義Amazon QLDB 中的配額和限制。
除了串流名稱之外,QLDB 還會為您建立的每個 QLDB 串流指派串流 ID。串流 ID 在指定分類帳的所有串流中都是唯一的,無論其狀態為何。
- 開始日期和時間
-
開始串流日誌資料的日期和時間。此值可以是過去的任何日期和時間,但不能是未來的時間。
- 結束日期和時間
-
(選用) 指定串流何時結束的日期和時間。
如果您建立的無限期串流沒有結束時間,則必須手動取消它以結束串流。您也可以取消尚未達到指定結束日期和時間的作用中、有限串流。
- 目的地 Kinesis 資料串流
-
Kinesis Data Streams 目標資源,您的串流會將資料記錄寫入其中。若要了解如何建立 Kinesis 資料串流,請參閱《Amazon Kinesis Data Streams 開發人員指南》中的建立和更新資料串流。 Amazon Kinesis
- IAM 角色
-
允許 QLDB 擔任 Kinesis 資料串流寫入許可的 IAM 角色。您可以使用 QLDB 主控台自動建立此角色,也可以在 IAM 中手動建立角色。若要了解如何手動建立,請參閱 串流許可。
若要在請求日誌串流時將角色傳遞至 QLDB,則您必須擁有針對 IAM 角色資源執行
iam:PassRole
動作的許可。
串流 ARN
每個 QLDB 日誌串流都是分類帳的子資源,且由 Amazon Resource Name (ARN) 唯一識別。以下是名為 之分類帳的串流 ID 為 的 QLDB IiPT4brpZCqCq3f4MTHbYy
串流 ARN 範例exampleLedger
。
arn:aws:qldb:us-east-1:123456789012:stream/exampleLedger/IiPT4brpZCqCq3f4MTHbYy
下一節說明如何使用 建立和取消 QLDB 串流 AWS Management Console。
AWS Management Console
請依照下列步驟,使用 QLDB 主控台建立或取消 QLDB 串流。
建立串流 (主控台)
登入 AWS Management Console,並在 https://console.aws.amazon.com/qldb
:// 開啟 Amazon QLDB 主控台。 -
在導覽窗格中,選擇 Data Streams (資料串流)。
-
選擇建立 QLDB 串流。
-
在建立 QLDB 串流頁面上,輸入下列設定:
-
串流名稱 – 您要指派給 QLDB 串流的名稱。
-
Ledger – 您要串流其日誌資料的分類帳。
-
開始日期和時間 – 以國際標準時間 (UTC) 為單位的包含時間戳記,從中開始串流日誌資料。此時間戳記預設為目前的日期和時間。它不能在未來,且必須早於結束日期和時間。
-
結束日期和時間 – (選用) 指定串流何時結束的專屬時間戳記 (UTC)。如果您將此參數保留空白,串流會無限期執行,直到您將其取消為止。
-
目的地串流 – 串流寫入資料記錄的目標資源 Kinesis Data Streams。使用下列 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 中啟用記錄彙總 – (預設啟用) 允許 QLDB 在單一 Kinesis Data Streams 記錄中發佈多個資料記錄,增加每個 API 呼叫傳送的記錄數。
-
服務存取 – 將 QLDB 寫入許可授予 Kinesis 資料串流的 IAM 角色。
若要在請求日誌串流時將角色傳遞至 QLDB,您必須具有在 IAM 角色資源上執行
iam:PassRole
動作的許可。-
建立和使用新的服務角色 – 讓主控台為您建立新的角色,並具有指定 Kinesis 資料串流的必要許可。
-
使用現有的服務角色 – 若要了解如何在 IAM 中手動建立此角色,請參閱 串流許可。
-
-
標籤 – (選用) 透過將標籤附加為鍵/值對,將中繼資料新增至串流。您可以將標籤新增至串流,以協助組織和識別標籤。如需詳細資訊,請參閱標記 Amazon QLDB 資源。
選擇新增標籤,然後視需要輸入任何鍵值對。
-
-
當設定如您想要的,請選擇建立 QLDB 串流。
如果您的請求提交成功,主控台會返回主串流頁面,並列出您的 QLDB 串流及其目前狀態。
-
串流處於作用中狀態後,請使用 Kinesis 來處理消費者應用程式的串流資料。
開啟位於 https://https://console.aws.amazon.com/kinesis/
的 Kinesis Data Streams 主控台。
如需串流資料記錄格式的資訊,請參閱Kinesis 中的 QLDB 串流記錄。
若要了解如何處理導致錯誤的串流,請參閱 處理受損的串流。
取消串流 (主控台)
您無法在取消 QLDB 串流之後重新啟動它。若要繼續將資料交付至 Kinesis Data Streams,您可以建立新的 QLDB 串流。
在 https://https://console.aws.amazon.com/qldb
開啟 Amazon QLDB 主控台。 -
在導覽窗格中,選擇 Data Streams (資料串流)。
-
在 QLDB 串流清單中,選取您要取消的作用中串流。
-
選擇取消串流。在提供的
cancel stream
方塊中輸入 來確認這一點。
如需搭配 AWS SDK 或 使用 QLDB API AWS CLI 來建立和管理日誌串流的詳細資訊,請參閱 在 QLDB 中使用串流開發。
串流狀態
QLDB 串流的狀態可以是下列其中一項:
-
ACTIVE
– 目前正在串流或等待串流資料 (適用於沒有結束時間的無限串流)。 -
COMPLETED
– 已成功完成指定時間範圍內的所有日誌區塊的串流。這是一個終端狀態。 -
CANCELED
– 在指定的結束時間之前由使用者請求結束,不再主動串流資料。這是一個終端狀態。 -
IMPAIRED
– 因為需要您動作的錯誤,而無法將記錄寫入 Kinesis。這是可復原的非終端機狀態。如果您在一小時內解決錯誤,串流會自動移至
ACTIVE
狀態。如果錯誤在一小時後仍未解決,串流會自動移至FAILED
狀態。 -
FAILED
– 由於發生錯誤而無法將記錄寫入 Kinesis,且處於無法復原的終端狀態。
下圖說明 QLDB 串流資源如何在狀態之間轉換。

終端機串流過期
處於終端狀態 (CANCELED
、 COMPLETED
和 FAILED
) 的串流資源受 7 天的保留期限制。它們會在此限制過期後自動硬刪除。
刪除終端機串流後,您便無法再使用 QLDB 主控台或 QLDB API 來描述或列出串流資源。
處理受損的串流
如果您的串流遇到錯誤,它會先移至 IMPAIRED
狀態。QLDB IMPAIRED
會持續重試串流長達一小時。
如果您在一小時內解決錯誤,串流會自動移至 ACTIVE
狀態。如果錯誤在一小時後仍未解決,串流會自動移至 FAILED
狀態。
串流受損或失敗可能有下列其中一個錯誤原因:
-
KINESIS_STREAM_NOT_FOUND
– 目的地 Kinesis Data Streams 資源不存在。驗證您在 QLDB 串流請求中提供的 Kinesis 資料串流是否正確。然後,前往 Kinesis 並建立您指定的資料串流。 -
IAM_PERMISSION_REVOKED
– QLDB 沒有足夠的許可將資料記錄寫入您指定的 Kinesis 資料串流。確認您已為指定的 Kinesis 資料串流定義政策,將 QLDB 服務 (qldb.amazonaws.com
) 許可授予下列動作:-
kinesis:PutRecord
-
kinesis:PutRecords
-
kinesis:DescribeStream
-
kinesis:ListShards
-
監控受損的串流
如果串流受損,QLDB 主控台會顯示橫幅,顯示串流的詳細資訊及其遇到的錯誤。您也可以使用 DescribeJournalKinesisStream
API 操作來取得串流的狀態和基礎錯誤原因。
此外,您可以使用 Amazon CloudWatch 來建立監控串流IsImpaired
指標的警示。如需使用 CloudWatch 監控 QLDB 指標的資訊,請參閱 Amazon QLDB 維度和指標。