Berkembang dengan aliran di QLDB - Amazon Quantum Ledger Database (Amazon QLDB)

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Berkembang dengan aliran di QLDB

Bagian ini merangkum operasi API yang dapat Anda gunakan dengan AWS SDK atau AWS CLI untuk membuat dan mengelola aliran jurnal di Amazon QLDB. Ini juga menjelaskan contoh aplikasi yang mendemonstrasikan operasi ini dan menggunakan Kinesis Client Library (KCL) atau AWS Lambda untuk mengimplementasikan konsumen aliran.

Anda dapat menggunakan KCL untuk membangun aplikasi konsumen untuk Amazon Kinesis Data Streams. KCL menyederhanakan pengodean dengan menyediakan abstraksi yang berguna di atas Kinesis Data Streams API tingkat rendah. Untuk mempelajari lebih lanjut tentang KCL, lihat Menggunakan Perpustakaan Klien Kinesis di Panduan Pengembang Amazon Kinesis Data Streams.

API aliran jurnal QLDB

QLDB API menyediakan operasi aliran jurnal berikut untuk digunakan oleh program aplikasi:

  • StreamJournalToKinesis— Membuat aliran jurnal untuk buku besar QLDB tertentu. Aliran menangkap setiap revisi dokumen yang berkomitmen pada jurnal buku besar dan mengirimkan data ke sumber daya Kinesis Data Streams tertentu.

    • Rekaman agregasi di Kinesis Data Streams diaktifkan secara default. Opsi ini memungkinkan QLDB mempublikasikan beberapa catatan data dalam satu catatan Kinesis Data Streams, meningkatkan jumlah catatan yang dikirim per panggilan API.

      Agregasi rekaman memiliki implikasi penting untuk memproses catatan dan memerlukan de-agregasi di konsumen aliran Anda. Untuk mempelajari lebih lanjut, lihat konsep kunci KPL dan de-agregasi Konsumen di Panduan Pengembang Amazon Kinesis Data Streams.

  • DescribeJournalKinesisStream— Mengembalikan informasi rinci tentang aliran jurnal QLDB yang diberikan. Outputnya mencakup ARN, nama aliran, status saat ini, waktu pembuatan, dan parameter permintaan pembuatan aliran asli Anda.

  • ListJournalKinesisStreamsForLedger— Mengembalikan daftar semua deskriptor aliran jurnal QLDB untuk buku besar yang diberikan. Output dari setiap deskriptor aliran mencakup detail yang sama yang dikembalikan olehDescribeJournalKinesisStream.

  • CancelJournalKinesisStream— Mengakhiri aliran jurnal QLDB yang diberikan. Sebelum streaming dapat dibatalkan, statusnya saat ini harusACTIVE.

    Anda tidak dapat memulai ulang aliran setelah Anda membatalkannya. Untuk melanjutkan pengiriman data ke Kinesis Data Streams, Anda dapat membuat aliran QLDB baru.

Untuk deskripsi lengkap tentang operasi API ini, lihat. Referensi API Amazon QLDB

Untuk informasi tentang membuat dan mengelola aliran jurnal menggunakan AWS CLI, lihat Referensi AWS CLI Perintah.

Aplikasi sampel

QLDB menyediakan contoh aplikasi yang menunjukkan berbagai operasi menggunakan aliran jurnal. Aplikasi ini bersifat open source di GitHub situs AWS Sampel.

Operasi dasar (Java)

Untuk contoh kode Java yang menunjukkan operasi dasar untuk aliran jurnal QLDB, lihat repositori aws-samples/ -java. GitHub amazon-qldb-dmv-sample Untuk petunjuk tentang cara mengunduh dan menginstal aplikasi sampel ini, lihatMenginstal aplikasi sampel Amazon QLDB Java.

catatan

Setelah Anda menginstal aplikasi, jangan lanjutkan ke Langkah 1 dari tutorial Java untuk membuat buku besar. Contoh aplikasi untuk streaming ini membuat vehicle-registration buku besar untuk Anda.

Contoh aplikasi ini mengemas kode sumber lengkap dari tutorial java dan dependensinya, termasuk modul berikut:

  • AWS SDK for Java— Untuk membuat dan menghapus sumber daya QLDB dan Kinesis Data Streams, termasuk buku besar, aliran jurnal QLDB, dan aliran data Kinesis.

  • Driver QLDB Amazon untuk JavaUntuk menjalankan transaksi data pada buku besar menggunakan pernyataan PartiQL, termasuk membuat tabel dan memasukkan dokumen.

  • Perpustakaan Klien Kinesis — Untuk mengkonsumsi dan memproses data dari aliran data Kinesis.

Menjalankan kode

StreamJournalKelas berisi kode tutorial yang menunjukkan operasi berikut:

  1. Buat buku besar bernamavehicle-registration, buat tabel, dan muat dengan data sampel.

    catatan

    Sebelum menjalankan kode ini, pastikan Anda belum memiliki buku besar aktif bernamavehicle-registration.

  2. Buat aliran data Kinesis, peran IAM yang memungkinkan QLDB mengasumsikan izin menulis untuk aliran data Kinesis, dan aliran jurnal QLDB.

  3. Gunakan KCL untuk memulai pembaca aliran yang memproses aliran data Kinesis dan mencatat setiap catatan data QLDB.

  4. Gunakan data aliran untuk memvalidasi rantai hash dari buku besar vehicle-registration sampel.

  5. Bersihkan semua sumber daya dengan menghentikan pembaca aliran, membatalkan aliran jurnal QLDB, menghapus buku besar, dan menghapus aliran data Kinesis.

Untuk menjalankan kode StreamJournal tutorial, masukkan perintah Gradle berikut dari direktori root proyek Anda.

./gradlew run -Dtutorial=streams.StreamJournal

Integrasi dengan OpenSearch Layanan (Python)

Untuk contoh aplikasi Python yang menunjukkan cara mengintegrasikan aliran QLDB dengan Amazon OpenSearch Service, lihat repositori aws-samples/ -. GitHub amazon-qldb-streaming-amazon opensearch-service-sample-python Aplikasi ini menggunakan AWS Lambda fungsi untuk mengimplementasikan konsumen Kinesis Data Streams.

Untuk mengkloning repositori, masukkan perintah berikut. git

git clone https://github.com/aws-samples/amazon-qldb-streaming-amazon-opensearch-service-sample-python.git

Untuk menjalankan aplikasi sampel, lihat README aktif GitHub untuk instruksi.

Integrasi dengan Amazon SNS dan Amazon SQS (Python)

Untuk contoh aplikasi Python yang menunjukkan cara mengintegrasikan aliran QLDB dengan Amazon Simple Notification Service (Amazon SNS), lihat repositori aws-samples/ -. GitHub amazon-qldb-streams-dmv sample-lambda-python

Aplikasi ini menggunakan AWS Lambda fungsi untuk mengimplementasikan konsumen Kinesis Data Streams. Ini mengirim pesan ke topik Amazon SNS, yang memiliki antrian Amazon Simple Queue Service (Amazon SQS) berlangganan.

Untuk mengkloning repositori, masukkan perintah berikut. git

git clone https://github.com/aws-samples/amazon-qldb-streams-dmv-sample-lambda-python.git

Untuk menjalankan aplikasi sampel, lihat README aktif GitHub untuk instruksi.