本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 中的串流開發 QLDB
重要
支援終止通知:現有客戶將可以使用 Amazon,QLDB直到 07/31/2025 的支援結束為止。如需詳細資訊,請參閱將 Amazon QLDB Ledger 遷移至 Amazon Aurora Postgre。SQL
本節摘要說明您可以與 AWS SDK或 搭配使用API的操作 AWS CLI ,以在 Amazon 中建立和管理日誌串流QLDB。它還描述了示範這些操作並使用 Kinesis Client Library (KCL) 或 AWS Lambda 實作串流取用者的範例應用程式。
您可以使用 KCL為 Amazon Kinesis Data Streams 建置取用者應用程式。透過在低階 Kinesis Data Streams 上方提供有用的摘要,KCL簡化編碼API。若要進一步了解 KCL,請參閱 Amazon Kinesis Kinesis Data Streams 開發人員指南 中的使用 Kinesis 用戶端程式庫。
QLDB 日誌串流 APIs
QLDB API 提供下列日誌串流操作,以供應用程式使用:
-
StreamJournalToKinesis
– 為指定的QLDB分類帳建立日誌串流。串流會擷取遞交至分類帳日誌的每個文件修訂,並將資料交付至指定的 Kinesis Data Streams 資源。 -
DescribeJournalKinesisStream
– 傳回指定QLDB日誌串流的詳細資訊。輸出包含 ARN、串流名稱、目前狀態、建立時間,以及原始串流建立請求的參數。 -
ListJournalKinesisStreamsForLedger
– 傳回指定分類帳的所有QLDB日誌串流描述符清單。每個串流描述詞的輸出都包含 傳回的相同詳細資訊DescribeJournalKinesisStream
。 -
CancelJournalKinesisStream
– 結束指定的QLDB日誌串流。在取消串流之前,其目前狀態必須為ACTIVE
。取消串流後,就無法重新啟動串流。若要繼續將資料交付至 Kinesis Data Streams,您可以建立新的QLDB串流。
如需這些API操作的完整說明,請參閱 Amazon QLDB API 參考。
如需使用 建立和管理日誌串流的相關資訊 AWS CLI,請參閱 AWS CLI 命令參考 。
範例應用程式
QLDB 提供使用日誌串流示範各種操作的範例應用程式。這些應用程式是AWS 範例 GitHub 網站上的
基本操作 (Java)
如需示範QLDB日誌串流基本操作的 Java 程式碼範例,請參閱 GitHub 儲存庫 aws-samples/amazon-qldb-dmv-sample-java
注意
安裝應用程式後,請勿繼續執行 Java 教學課程的步驟 1 來建立分類帳。此串流範例應用程式會為您建立vehicle-registration
分類帳。
此範例應用程式會封裝來自 爪哇教程及其相依性的完整原始碼,包括下列模組:
-
AWS SDK for Java
– 建立和刪除 QLDB和 Kinesis Data Streams 資源,包括分類帳、QLDB日誌串流和 Kinesis 資料串流。 -
Java 的 Amazon QLDB 驅動程序 – 使用 PartiQL 陳述式在分類帳上執行資料交易,包括建立資料表和插入文件。
-
Kinesis Client Library – 使用和處理來自 Kinesis 資料串流的資料。
執行程式碼
StreamJournal
-
建立名為 的分類帳
vehicle-registration
、建立資料表,並使用範例資料載入它們。注意
在執行此程式碼之前,請確定您還沒有名為 的作用中分類帳
vehicle-registration
。 -
建立 Kinesis 資料串流、允許 QLDB 擔任 Kinesis 資料串流寫入許可IAM的角色,以及QLDB日誌串流。
-
使用 KCL啟動處理 Kinesis 資料串流並記錄每個QLDB資料記錄的串流讀取器。
-
使用串流資料來驗證
vehicle-registration
範例分類帳的雜湊鏈。 -
透過停止串流讀取器、取消QLDB日誌串流、刪除分類帳和刪除 Kinesis 資料串流來清除所有資源。
若要執行StreamJournal
教學課程程式碼,請從專案根目錄輸入下列 Gradle 命令。
./gradlew run -Dtutorial=streams.StreamJournal
與服務整合 OpenSearch (Python)
如需 Python 範例應用程式,示範如何將串流與 QLDB Amazon OpenSearch Service 整合,請參閱 GitHub 儲存庫 aws-samples/amazon-qldb-streaming-amazon-opensearch-service-sample-python
若要複製儲存庫,請輸入下列git
命令。
git clone https://github.com/aws-samples/amazon-qldb-streaming-amazon-opensearch-service-sample-python.git
若要執行範例應用程式,請參閱README
與 Amazon SNS和 Amazon SQS(Python) 整合
如需 Python 範例應用程式,示範如何將串流與 Amazon Simple Notification Service QLDB (AmazonSNS) 整合,請參閱 GitHub 儲存庫 aws-samples/amazon-qldb-streams-dmv-sample-lambda-python
此應用程式使用 AWS Lambda 函數實作 Kinesis Data Streams 取用者。它會傳送訊息至具有訂閱 Amazon Simple Queue Service (Amazon SQS) 佇列的 Amazon SNS主題。
若要複製儲存庫,請輸入下列git
命令。
git clone https://github.com/aws-samples/amazon-qldb-streams-dmv-sample-lambda-python.git
若要執行範例應用程式,請參閱README