本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 QLDB 中的串流進行開發
本節概述了您可以與 AWS 開發套件搭配使用的 API 操作,或在 AWS CLI Amazon QLDB 中建立和管理日誌串流。同時也說明示範這些作業並使用 Kinesis 用戶端程式庫 (KCL) 或實作串流取用者的範例應 AWS Lambda 用程式。
您可以使用 KCL 為 Amazon Kinesis Data Streams 建置消費者應用程式。KCL 會在低階 Kinesis Data Streams API 上提供有用的抽象,可以簡化程式碼。若要進一步了解 KCL,請參閱 Amazon Kinesis 資料串流開發人員指南中的使用 Kinesis 用戶端程式庫。
QLDB 日誌串流 API
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 網站
基本操作
如需示範 QLDB 日誌串流基本作業的 Java 程式碼範例,請參閱 GitHub 儲存庫 aw amazon-qldb-dmv-sample
注意
安裝應用程式後,請勿繼續執行 Java 教學課程的步驟 1 來建立分類帳。此用於流式傳輸的示例應用程序為您創建vehicle-registration
分類帳。
此範例應用程式會封裝來自Java 教學及其相依性的完整原始程式碼,包括下列模組:
-
AWS SDK for Java
— 建立和刪除 QLDB 和 Kinesis Data Streams 資源,包括分類帳、QLDB 日誌串流和 Kinesis 資料串流。 -
用於 Java 的亞馬遜 QLDB 驅動程序— 使用 PartiQL 陳述式在分類帳上執行資料交易,包括建立表格和插入文件。
-
Kinesis 用戶端程式庫 — 使用和處理 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 合
如需示範如何將 QLDB 串流與 Amazon OpenSearch 服務整合的 Python 範例應用程式,請參閱 GitHub 儲存庫 aw amazon-qldb-streaming-amazon
若要複製存放庫,請輸入下列git
命令。
git clone https://github.com/aws-samples/amazon-qldb-streaming-amazon-opensearch-service-sample-python.git
若要執行範例應用程式,請參閱的 README
與 Amazon SNS 和 Amazon SQS(Python)集成
如需示範如何將 QLDB 串流與亞馬遜簡單通知服務 (Amazon SNS) 整合的 Python 範例應用程式,請參閱 GitHub 儲存庫 aw amazon-qldb-streams-dmv
此應用程式使用 AWS Lambda 函數來實作 Kinesis Data Streams 取用者。它將消息發送到 Amazon SNS 主題,該主題已訂閱 Amazon Simple Queue Service (Amazon SQS) 隊列。
若要複製存放庫,請輸入下列git
命令。
git clone https://github.com/aws-samples/amazon-qldb-streams-dmv-sample-lambda-python.git
若要執行範例應用程式,請參閱的 README