QLDBDriver Amazon untuk Python - Tutorial mulai cepat - Database Buku Besar Amazon Quantum (AmazonQLDB)

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

QLDBDriver Amazon untuk Python - Tutorial mulai cepat

penting

Pemberitahuan akhir dukungan: Pelanggan yang ada akan dapat menggunakan Amazon QLDB hingga akhir dukungan pada 07/31/2025. Untuk detail selengkapnya, lihat Memigrasi QLDB Buku Besar Amazon ke Amazon Aurora Postgre. SQL

Dalam tutorial ini, Anda belajar cara mengatur aplikasi sederhana menggunakan versi terbaru dari QLDB driver Amazon untuk Python. Panduan ini mencakup langkah-langkah untuk menginstal driver dan contoh kode pendek dari operasi dasar create, read, update, dan delete (CRUD). Untuk contoh lebih mendalam yang menunjukkan operasi ini dalam aplikasi sampel lengkap, lihat. Tutorial Python

Prasyarat

Sebelum memulai, pastikan Anda melakukan hal berikut:

  1. Selesaikan Prasyarat untuk driver Python, jika Anda belum melakukannya. Ini termasuk mendaftar AWS, memberikan akses terprogram untuk pengembangan, dan menginstal Python versi 3.6 atau yang lebih baru.

  2. Buat buku besar bernamaquick-start.

    Untuk mempelajari cara membuat buku besar, lihat Operasi dasar untuk QLDB buku besar Amazon atau Langkah 1: Buat buku besar baru di Memulai dengan konsol.

Langkah 1: Siapkan proyek Anda

Pertama, siapkan proyek Python Anda.

catatan

Jika Anda menggunakan fitur IDE yang memiliki fitur untuk mengotomatiskan langkah-langkah penyiapan ini, Anda dapat langsung melakukannya. Langkah 2: Inisialisasi driver

  1. Buat folder untuk aplikasi Anda.

    $ mkdir myproject $ cd myproject
  2. Untuk menginstal QLDB driver untuk Python dari PyPI, masukkan perintah berikut. pip

    $ pip install pyqldb

    Menginstal driver juga menginstal dependensinya, termasuk paket dan AWS SDK for Python (Boto3)Amazon Ion.

  3. Buat file baru bernama app.py.

    Kemudian, secara bertahap tambahkan contoh kode dalam langkah-langkah berikut untuk mencoba beberapa CRUD operasi dasar. Atau, Anda dapat melewati step-by-step tutorial dan menjalankan aplikasi lengkap.

Langkah 2: Inisialisasi driver

Inisialisasi instance driver yang terhubung ke buku besar bernama. quick-start Tambahkan kode berikut ke app.py file Anda.

from pyqldb.config.retry_config import RetryConfig from pyqldb.driver.qldb_driver import QldbDriver # Configure retry limit to 3 retry_config = RetryConfig(retry_limit=3) # Initialize the driver print("Initializing the driver") qldb_driver = QldbDriver("quick-start", retry_config=retry_config)

Langkah 3: Buat tabel dan indeks

Contoh kode berikut menunjukkan bagaimana menjalankan CREATE TABLE dan CREATE INDEX pernyataan.

Tambahkan kode berikut yang membuat tabel bernama People dan indeks untuk lastName bidang pada tabel itu. Indeks diperlukan untuk mengoptimalkan kinerja kueri dan membantu membatasi pengecualian konflik kontrol konkurensi (OCC) optimis.

def create_table(transaction_executor): print("Creating a table") transaction_executor.execute_statement("Create TABLE People") def create_index(transaction_executor): print("Creating an index") transaction_executor.execute_statement("CREATE INDEX ON People(lastName)") # Create a table qldb_driver.execute_lambda(lambda executor: create_table(executor)) # Create an index on the table qldb_driver.execute_lambda(lambda executor: create_index(executor))

Langkah 4: Masukkan dokumen

Contoh kode berikut menunjukkan bagaimana menjalankan INSERT pernyataan. QLDBmendukung bahasa kueri PartiQL SQL (kompatibel) dan format data Amazon Ion (superset dari). JSON

Tambahkan kode berikut yang menyisipkan dokumen ke dalam People tabel.

def insert_documents(transaction_executor, arg_1): print("Inserting a document") transaction_executor.execute_statement("INSERT INTO People ?", arg_1) # Insert a document doc_1 = { 'firstName': "John", 'lastName': "Doe", 'age': 32, } qldb_driver.execute_lambda(lambda x: insert_documents(x, doc_1))

Contoh ini menggunakan tanda tanya (?) sebagai placeholder variabel untuk meneruskan informasi dokumen ke pernyataan. execute_statementMetode ini mendukung nilai di kedua jenis Amazon Ion dan tipe asli Python.

Tip

Untuk menyisipkan beberapa dokumen dengan menggunakan satu INSERT pernyataan, Anda dapat meneruskan parameter daftar tipe ke pernyataan sebagai berikut.

# people is a list transaction_executor.execute_statement("INSERT INTO Person ?", people)

Anda tidak melampirkan variabel placeholder (?) dalam tanda kurung sudut ganda (<<...>>) saat melewati daftar. Dalam pernyataan PartiQL manual, tanda kurung sudut ganda menunjukkan koleksi tidak berurutan yang dikenal sebagai tas.

Langkah 5: Kueri dokumen

Contoh kode berikut menunjukkan bagaimana menjalankan SELECT pernyataan.

Tambahkan kode berikut yang menanyakan dokumen dari People tabel.

def read_documents(transaction_executor): print("Querying the table") cursor = transaction_executor.execute_statement("SELECT * FROM People WHERE lastName = ?", 'Doe') for doc in cursor: print(doc["firstName"]) print(doc["lastName"]) print(doc["age"]) # Query the table qldb_driver.execute_lambda(lambda executor: read_documents(executor))

Langkah 6: Perbarui dokumen

Contoh kode berikut menunjukkan bagaimana menjalankan UPDATE pernyataan.

  1. Tambahkan kode berikut yang memperbarui dokumen dalam People tabel dengan memperbarui age ke42.

    def update_documents(transaction_executor, age, lastName): print("Updating the document") transaction_executor.execute_statement("UPDATE People SET age = ? WHERE lastName = ?", age, lastName) # Update the document age = 42 lastName = 'Doe' qldb_driver.execute_lambda(lambda x: update_documents(x, age, lastName))
  2. Kueri tabel lagi untuk melihat nilai yang diperbarui.

    # Query the updated document qldb_driver.execute_lambda(lambda executor: read_documents(executor))
  3. Untuk menjalankan aplikasi, masukkan perintah berikut dari direktori proyek Anda.

    $ python app.py

Menjalankan aplikasi lengkap

Contoh kode berikut adalah versi lengkap app.py aplikasi. Alih-alih melakukan langkah-langkah sebelumnya satu per satu, Anda juga dapat menyalin dan menjalankan contoh kode ini dari awal hingga akhir. Aplikasi ini menunjukkan beberapa CRUD operasi dasar pada buku besar bernama. quick-start

catatan

Sebelum Anda menjalankan kode ini, pastikan bahwa Anda belum memiliki tabel aktif bernama People dalam quick-start buku besar.

from pyqldb.config.retry_config import RetryConfig from pyqldb.driver.qldb_driver import QldbDriver def create_table(transaction_executor): print("Creating a table") transaction_executor.execute_statement("CREATE TABLE People") def create_index(transaction_executor): print("Creating an index") transaction_executor.execute_statement("CREATE INDEX ON People(lastName)") def insert_documents(transaction_executor, arg_1): print("Inserting a document") transaction_executor.execute_statement("INSERT INTO People ?", arg_1) def read_documents(transaction_executor): print("Querying the table") cursor = transaction_executor.execute_statement("SELECT * FROM People WHERE lastName = ?", 'Doe') for doc in cursor: print(doc["firstName"]) print(doc["lastName"]) print(doc["age"]) def update_documents(transaction_executor, age, lastName): print("Updating the document") transaction_executor.execute_statement("UPDATE People SET age = ? WHERE lastName = ?", age, lastName) # Configure retry limit to 3 retry_config = RetryConfig(retry_limit=3) # Initialize the driver print("Initializing the driver") qldb_driver = QldbDriver("quick-start", retry_config=retry_config) # Create a table qldb_driver.execute_lambda(lambda executor: create_table(executor)) # Create an index on the table qldb_driver.execute_lambda(lambda executor: create_index(executor)) # Insert a document doc_1 = { 'firstName': "John", 'lastName': "Doe", 'age': 32, } qldb_driver.execute_lambda(lambda x: insert_documents(x, doc_1)) # Query the table qldb_driver.execute_lambda(lambda executor: read_documents(executor)) # Update the document age = 42 lastName = 'Doe' qldb_driver.execute_lambda(lambda x: update_documents(x, age, lastName)) # Query the table for the updated document qldb_driver.execute_lambda(lambda executor: read_documents(executor))

Untuk menjalankan aplikasi lengkap, masukkan perintah berikut dari direktori proyek Anda.

$ python app.py