Topik ini menjelaskan cara menggunakan Python DB-API untuk mengembangkan aplikasi berbasis LindormTable dan menyediakan contoh.
Prasyarat
Python 3.7 atau versi yang lebih baru telah diinstal.
Alamat IP klien Anda telah ditambahkan ke daftar putih Lindorm.
Batasan
Python DB-API tidak dapat digunakan untuk terhubung ke LindormTable dari instans Lindorm Serverless.
Prosedur
Jalankan perintah
pip install phoenixdbuntuk menginstal phoenixdb. Contoh berikut menunjukkan cara menginstal phoenixdb versi 1.2.0:pip install phoenixdb==1.2.0Tentukan parameter yang diperlukan untuk membuat koneksi ke database, termasuk nama database yang ingin diakses serta nama pengguna dan kata sandi untuk mengakses database tersebut.
connect_kw_args = {'lindorm_user': '<userName>', 'lindorm_password': '<userPassword>', 'database': '<database>'}Deskripsi parameter
Parameter
Deskripsi
lindorm_user
Nama pengguna dan kata sandi yang digunakan untuk terhubung ke instans Lindorm.
Jika Anda lupa kata sandi, Anda dapat mengubah kata sandi di sistem manajemen kluster LindormTable.
lindorm_password
database
Nama database yang ingin Anda akses. Anda dapat terhubung ke database yang sudah ada yang memiliki izin untuk diakses.
Jika Anda tidak menentukan database, Anda akan terhubung ke database default.
Tentukan parameter database_url dan connect_kw_args untuk membuat koneksi ke database.
database_url = '<lindorm_sql_url>' connection = phoenixdb.connect(database_url, autocommit=True, **connect_kw_args)Deskripsi parameter
Parameter
Deskripsi
database_url
Titik akhir yang digunakan untuk mengakses LindormTable menggunakan SQL. Untuk informasi selengkapnya tentang cara mendapatkan titik akhir, lihat Lihat titik akhir.
Jika klien Anda diterapkan pada instans Elastic Compute Service (ECS) yang berada dalam virtual private network (VPC) yang sama dengan instans Lindorm Anda, Anda dapat menggunakan Titik akhir VPC untuk mengakses LindormTable. Jika tidak, aktifkan Titik akhir publik LindormTable, lalu gunakan Titik akhir publik tersebut untuk mengakses LindormTable.
Saat Anda mengatur parameter ini ke titik akhir, hapus string sebelum
httpdari titik akhir yang Anda peroleh dari Konsol Lindorm.Contoh:
database_url = 'http://ld-bp10m54739kg9****-proxy-lindorm.lindorm.rds.aliyuncs.com:30060'autocommit
Tentukan apakah perintah akan dikomit secara otomatis. Parameter ini harus diatur ke True.
**connect_kw_args
Pengaturan parameter connect_kw_args yang ditentukan pada Langkah 2. Pengaturan ini diteruskan ke metode phoenixdb.connect() untuk membuat koneksi ke database.
Setelah terhubung ke database, Anda dapat melakukan operasi DDL dan DML. Kode berikut memberikan contoh cara melaksanakan operasi tersebut:
with connection.cursor() as statement: # Buat tabel. sql_create_table = "create table if not exists test_python(c1 integer, c2 integer, primary key(c1))" print(sql_create_table) statement.execute(sql_create_table) # Masukkan satu baris data. sql_upsert = "upsert into test_python(c1, c2) values(1,1)" print(sql_upsert) statement.execute(sql_upsert) # Masukkan beberapa baris data. with connection.cursor() as stat: sql_upsert = "upsert into test_python(c1, c2) values(?,?)" print(sql_upsert) stat.executemany(sql_upsert, [(2, 2), (3, 3)]) # Hapus data. sql_delete = "delete from test_python where c1=2" print(sql_delete) statement.execute(sql_delete) # Ubah data dalam tabel. sql_update = "upsert into test_python(c1, c2) values(1,10)" print(sql_update) statement.execute(sql_update) # Kueri data. sql_select = "select * from test_python" print(sql_select) statement.execute(sql_select) rows = statement.fetchall() print(rows) # Nonaktifkan tabel. Jika versi LindormTable instans Anda lebih baru dari 2.2.16 dan lebih lama dari 2.4.1, Anda harus menonaktifkan tabel sebelum menghapusnya. sql_offline_table = "offline table test_python" print(sql_offline_table) statement.execute(sql_offline_table) # Hapus tabel. sql_drop_table = "drop table if exists test_python" print(sql_drop_table) statement.execute(sql_drop_table) # Tutup koneksi ke database. connection.close()CatatanUntuk kode contoh lengkap, lihat Contoh Python.
Referensi
Untuk informasi selengkapnya, lihat Referensi SQL untuk LindormTable.