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
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
Topik
Prasyarat
Sebelum memulai, pastikan Anda melakukan hal berikut:
-
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.
-
Buat buku besar bernama
quick-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
-
Buat folder untuk aplikasi Anda.
$
mkdir myproject
$
cd myproject
-
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. -
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_statement
Metode 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.
-
Tambahkan kode berikut yang memperbarui dokumen dalam
People
tabel dengan memperbaruiage
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))
-
Kueri tabel lagi untuk melihat nilai yang diperbarui.
# Query the updated document qldb_driver.execute_lambda(lambda executor: read_documents(executor))
-
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