Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Mengakses Amazon QLDB menggunakan shell QLDB (hanya API data)
Amazon QLDB menyediakan shell baris perintah untuk interaksi dengan API data transaksional. Dengan shell QLDB, Anda dapat menjalankan pernyataan PartiQL pada data buku besar.
Versi terbaru dari shell ini ditulis dalam Rust dan open source di awslabs/ GitHubmain
cabang default. Versi Python (v1) juga masih tersedia untuk digunakan dalam repositori yang sama dimaster
cabang.
catatan
Shell Amazon QLDB hanya mendukung API dataqldb-session
transaksional. API ini hanya digunakan untuk menjalankan pernyataan PartiQL pada buku besar QLDB.
Untuk berinteraksi dengan operasi APIqldb
manajemen menggunakan antarmuka baris perintah, lihatMengakses Amazon QLDB menggunakan (hanya API manajemen AWS CLI ).
Alat ini tidak dimaksudkan untuk dimasukkan ke dalam aplikasi atau diadopsi untuk tujuan produksi. Tujuan dari alat ini adalah untuk membiarkan Anda cepat bereksperimen dengan QLDB dan PartiQL.
Bagian berikut menjelaskan cara memulai shell QLDB.
Topik
Prasyarat
Sebelum memulai shell QLDB, Anda harus melakukan hal berikut:
-
Ikuti petunjukAWS pengaturan diMengakses Amazon QLDB. Hal ini termasuk skenario berikut:
-
Daftar ke AWS.
-
Buat pengguna dengan izin QLDB yang sesuai.
-
Memberikan akses terprogram untuk pengembangan.
-
-
SiapkanAWS kredensi dan default AndaWilayah AWS. Untuk petunjuknya, lihat Dasar-dasar konfigurasi di PanduanAWS Command Line Interface Pengguna.
Untuk daftar lengkap Wilayah yang tersedia, lihat titik akhir dan kuota Amazon QLDB di bagian Referensi Umum AWS.
-
Untuk buku besar apa pun dalam mode
STANDARD
izin, buat kebijakan IAM yang memberi Anda izin untuk menjalankan pernyataan PartiQL pada tabel yang sesuai. Untuk mempelajari cara membuat kebijakan ini, lihatMemulai dengan mode izin standar di Amazon QLDB.
Memasang shell
Untuk menginstal versi terbaru dari shell QLDB, lihat file README.md
Untuk macOS, shell terintegrasi dengan keranaws/tap
Homebrew
$
xcode-select --install
# Required to use Homebrew$
brew tap aws/tap
# Add AWS as a Homebrew tap$
brew install qldbshell
Konfigurasi
Setelah instalasi, shell memuat file konfigurasi default yang terletak di$XDG_CONFIG_HOME/qldbshell/config.ion
selama inisialisasi. Di Linux dan macOS, file ini biasanya berada di~/.config/qldbshell/config.ion
. Jika file seperti itu tidak ada, shell berjalan dengan pengaturan default.
Anda dapat membuatconfig.ion
file secara manual setelah instalasi. File konfigurasi ini menggunakan format data Amazon Ion. Berikut ini adalah contohconfig.ion
file minimal.
{ default_ledger: "my-example-ledger" }
Jikadefault_ledger
tidak diatur dalam file konfigurasi Anda,--ledger
parameter diperlukan saat Anda memanggil shell. Untuk daftar lengkap opsi konfigurasi, lihat file README.md
Memanggil shell
Untuk memanggil shell QLDB pada terminal baris perintah Anda untuk buku besar tertentu, jalankan perintah berikut. Ganti my-example-ledger
dengan nama buku besar Anda.
$
qldb --ledger
my-example-ledger
Perintah ini terhubung ke default AndaWilayah AWS. Untuk secara eksplisit menentukan Region, Anda dapat menjalankan perintah dengan--qldb-session-endpoint
parameter--region
or, seperti yang dijelaskan di bagian berikut.
Setelah memohon sesiqldb
shell, Anda dapat memasukkan jenis berikut masukan:
Parameter shell
Untuk daftar lengkap bendera dan opsi yang tersedia untuk memohon shell, jalankanqldb
perintah dengan--help
bendera, sebagai berikut.
$
qldb --help
Berikut ini adalah beberapa bendera kunci dan opsi untukqldb
perintah. Anda dapat menambahkan parameter opsional ini untuk menggantiWilayah AWS, profil kredensyal, titik akhir, format hasil, dan opsi konfigurasi lainnya.
Pemakaian
$
qldb [FLAGS]
[OPTIONS]
BENDERA
-h
,--help
-
Mencetak informasi bantuan.
-v
,--verbose
-
Mengkonfigurasi verbositas logging. Secara default, shell log kesalahan saja. Untuk meningkatkan tingkat verbositas, ulangi argumen ini (misalnya,
-vv
). Tingkat tertinggi adalah-vvv
yang sesuai dengantrace
verbositas. -V
,--version
-
Mencetak informasi versi.
OPSI
-l
,--ledger
LEDGER_NAMA
-
Nama buku besar untuk terhubung. Ini adalah parameter shell yang diperlukan jika
default_ledger
tidak diatur dalamconfig.ion
file Anda. Dalam file ini, Anda dapat mengatur opsi tambahan, seperti Wilayah. -c
,--config
CONFIG_FILE
-
File tempat Anda dapat menentukan opsi konfigurasi shell apa pun. Untuk memformat detail dan daftar lengkap opsi konfigurasi, lihat file README.md
aktif GitHub. -f
,--format
ion|table
-
Format output dari hasil kueri Anda. Defaultnya adalah
ion
. -p
,--profile
PROFIL
-
Lokasi profilAWS kredensial Anda untuk autentikasi.
Jika tidak disediakan, shell menggunakanAWS profil default Anda, yang terletak di
~/.aws/credentials
. -r
,--region
KODE WILAYAH
-
Wilayah AWSKode buku besar QLDB untuk terhubung ke. Misalnya:
us-east-1
.Jika tidak disediakan, shell terhubung ke default AndaWilayah AWS seperti yang ditentukan dalamAWS profil Anda.
-s
,--qldb-session-endpoint
QLDB_SESSION_ENDPOINT
-
Endpoint
qldb-session
API untuk terhubung ke.Untuk daftar lengkap Wilayah QLDB dan titik akhir yang tersedia, lihat titik akhir dan kuota Amazon QLDB di bagian Referensi Umum AWS.
Referensi perintah
Setelah Anda memanggilqldb
sesi, shell mendukung kunci berikut dan perintah database:
Tombol shell | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Key | Deskripsi fungsi | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Enter | Menjalankan pernyataan. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Escape+Enter (MacOS, Linux) Shift+Enter (Jendela) |
Mulai baris baru untuk memasukkan pernyataan yang mencakup beberapa baris. Anda juga dapat menyalin teks input dengan beberapa baris dan menempelkannya ke dalam shell. Untuk petunjuk tentang pengaturan,Option bukanEscape sebagai kunci Meta di macOS, lihat situs OS X Daily |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Ctrl+C | Membatalkan perintah saat ini. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Ctrl+D | Sinyal akhir file (EOF) dan keluar tingkat shell. Jika tidak dalam transaksi aktif, keluar shell. Dalam transaksi aktif, membatalkan transaksi. |
Perintah basis data shell | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Perintah | Deskripsi fungsi | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
help |
Menampilkan informasi bantuan. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
begin |
Memulai transaksi. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
start transaction |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
commit |
Melakukan transaksi Anda ke jurnal buku besar. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
abort |
Menghentikan transaksi Anda dan menolak setiap perubahan yang Anda buat. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
exit |
Keluar shell. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
quit |
catatan
Semua perintah shell QLDB tidak peka huruf besar/kecil.
Menjalankan pernyataan individual
Kecuali untuk perintah database dan perintah meta shell yang tercantum dalam README.mdauto-commit
mode. Mode ini dapat dikonfigurasi.
Dalamauto-commit
mode, shell secara implisit menjalankan setiap pernyataan dalam transaksinya sendiri dan secara otomatis melakukan transaksi jika tidak ada kesalahan yang ditemukan. Ini berarti bahwa Anda tidak perlu menjalankanstart transaction
(ataubegin
) dancommit
secara manual setiap kali Anda menjalankan pernyataan.
Mengelola transaksi
Atau, shell QLDB memungkinkan Anda mengontrol transaksi secara manual. Anda dapat menjalankan beberapa pernyataan dalam transaksi secara interaktif, atau non-interaktif dengan mengelompokkan perintah dan pernyataan secara berurutan.
Transaksi interaktif
Untuk menjalankan transaksi interaktif, lakukan langkah-langkah berikut.
-
Untuk memulai transaksi, masukkan
begin
perintah.qldb>
begin
Setelah Anda memulai transaksi, shell menampilkan prompt perintah berikut.
qldb *>
-
Kemudian, setiap pernyataan yang Anda masukkan berjalan dalam transaksi yang sama.
-
Misalnya, Anda dapat menjalankan pernyataan tunggal sebagai berikut.
qldb *>
SELECT * FROM Vehicle WHERE VIN = '1N4AL11D75C109151'
Setelah Anda menekanEnter, shell menampilkan hasil pernyataan.
-
Anda juga dapat memasukkan beberapa pernyataan atau perintah dipisahkan oleh titik koma (
;
) pembatas sebagai berikut.qldb *>
SELECT * FROM Vehicle WHERE VIN = '1N4AL11D75C109151'; commit
-
-
Untuk mengakhiri transaksi, masukkan salah satu perintah berikut.
-
Masukkan
commit
perintah untuk melakukan transaksi Anda ke jurnal buku besar.qldb *>
commit
-
Masukkan
abort
perintah untuk menghentikan transaksi Anda dan menolak perubahan yang Anda buat.qldb *>
abort
transaction was aborted
-
Batas batas waktu transaksi
Transaksi interaktif mematuhi batas waktu transaksi QLDB. Jika Anda tidak melakukan transaksi dalam waktu 30 detik sejak memulainya, QLDB secara otomatis akan kedaluwarsa transaksi dan menolak setiap perubahan yang dilakukan selama transaksi.
Kemudian, alih-alih menampilkan hasil pernyataan, shell menampilkan pesan kesalahan kedaluwarsa dan kembali ke prompt perintah normal. Untuk mencoba lagi, Anda harus memasukkanbegin
perintah lagi untuk memulai transaksi baru.
transaction failed after 1 attempts, last error: communication failure: Transaction 2UMpiJ5hh7WLjVgEiMLOoO
has expired
Transaksi non-interaktif
Anda dapat menjalankan transaksi lengkap dengan beberapa pernyataan dengan mengelompokkan perintah dan pernyataan secara berurutan sebagai berikut.
qldb>
begin; SELECT * FROM Vehicle WHERE VIN = '1N4AL11D75C109151'; SELECT * FROM Person p, DriversLicense l WHERE p.GovId = l.LicenseNumber; commit
Anda harus memisahkan setiap perintah dan pernyataan dengan titik koma (;
) pembatas. Jika ada pernyataan dalam transaksi yang tidak valid, shell secara otomatis menolak transaksi. Shell tidak melanjutkan dengan pernyataan berikutnya yang Anda masukkan.
Anda juga dapat mengatur beberapa transaksi.
qldb>
begin; statement1
; commit; begin; statement2
; statement3
; commit
Mirip dengan contoh sebelumnya, jika transaksi gagal, shell tidak melanjutkan transaksi atau pernyataan berikutnya yang Anda masukkan.
Jika Anda tidak mengakhiri transaksi, shell beralih ke mode interaktif dan meminta Anda untuk perintah atau pernyataan berikutnya.
qldb>
begin; statement1
; commit; begin
qldb *>
Keluar shell
Untuk keluar dari sesiqldb
shell saat ini, masukkanquit
perintahexit
atau, atau gunakan pintasan keyboardCtrl +D saat shell tidak dalam transaksi.
qldb>
exit
$
qldb>
quit
$
Contoh
Untuk informasi tentang menulis pernyataan PartiQL di QLDB, lihatReferensi PartiQLDB QLDB.
Contoh berikut menunjukkan urutan perintah dasar.
catatan
Shell QLDB menjalankan setiap pernyataan PartiQL dalam contoh ini dalam transaksi sendiri.
Contoh ini mengasumsikan bahwa buku besartest-ledger
sudah ada dan aktif.
$
qldb --ledger test-ledger --region us-east-1
qldb>
CREATE TABLE TestTable
qldb>
INSERT INTO TestTable `{"Name": "John Doe"}`
qldb>
SELECT * FROM TestTable
qldb>
DROP TABLE TestTable
qldb>
exit