Contoh Kueri DynamoDB

Contoh Kueri Dynamodb



Database adalah kumpulan data—DynamoDB tidak terkecuali. Basis data berisi banyak data yang mungkin sulit diambil tanpa mekanisme yang telah ditentukan sebelumnya. Di sinilah perintah query memainkan peran penting.

Seperti sistem manajemen basis data apa pun, DynamoDB menawarkan berbagai metode kueri di mana Anda dapat berinteraksi dengan sistem untuk mengakses dan memanipulasi data Anda. Membuat kueri di DynamoDB adalah alat yang sangat andal yang memungkinkan Anda mengambil item atau grup item yang terkait dengan perintah kueri.

Artikel ini menguraikan contoh utama Operasi Kueri DynamoDB.







Contoh Kueri DynamoDB Umum

Perilaku default untuk operasi kueri di DynamoDB adalah mengembalikan semua item yang terkait dengan item kueri. Menariknya, perintah kueri di DynamoDB dapat digunakan dengan tabel atau indeks sekunder.



Apapun kasusnya, selalu pastikan bahwa Anda menentukan kondisi persamaan untuk nilai kunci partisi Anda. Sekali lagi, Anda mungkin perlu memberikan kondisi yang berbeda untuk kunci sortir jika Anda menggunakan salah satunya di perintah.



Parameter lain yang akan Anda temui saat menanyakan DynamoDB juga mencakup KeyConditionExpression dan FilterExpression. KeyConditionExpression menentukan nilai kunci yang ingin Anda kueri. Di sisi lain, FilterExpression menghapus item dari hasil kueri sebelum Anda mendapatkan respons. Anda akan menggunakan ExpressionAttributeValues ​​sebagai placeholder untuk parameter ekspresi yang disebutkan.





Contoh Kueri DynamoDB meliputi:

Menemukan Item Tunggal dari Tabel Berdasarkan Kunci Utama

Anda dapat menggunakan utilitas Kueri di DynmoDB untuk menemukan satu item dengan mengandalkan kombinasi kunci partisi item dan nilai kunci pengurutan. Sintaks untuk operasi semacam itu adalah sebagai berikut:



kueri aws dynamodb \

--nama-tabelNamaTabelKu \

--kunci-kondisi-ekspresi 'PartitionKey = :pk DAN SortKey = :sk' \

--ekspresi-atribut-nilai '{':pk':{'S':'a123b'},':sk':{'S':'def456b'}}'

Utilitas kueri di atas bertujuan untuk mengambil item dengan nilai kunci partisi a1234b dan nilai kunci pengurutan odef456b dari tabel MyTableName. Misalnya, kita dapat menggunakan utilitas di atas untuk menemukan item di tabel 'Pesanan' kita. Nilai kunci partisi item bisa jadi wr546gg mewakili Customer_ID, sedangkan nilai kunci sortirnya bisa 24536433 mewakili nomor urut.

Hasilnya bisa sebagai berikut:

Hasil di atas mengembalikan Holiday Books sebagai satu-satunya item yang memiliki nilai kunci partisi wr546gg dan nilai sort key 24536433. Ini juga memberi Anda semua atribut tambahan lain yang terkait dengan item tersebut. Dalam ilustrasi kami, ini mengembalikan nomor faktur dan jumlah yang dibayarkan.

Khususnya, perintah kueri akan mengembalikan daftar kosong jika tidak ada item yang cocok dengan nilai kunci utama yang ditentukan.

Mengambil Semua Item Dari Tabel DynamoDB Mencocokkan Nilai Atribut Spesifik

Gunakan ekspresi filter untuk mengambil semua item yang memiliki nilai atribut serupa di tabel DynamoDB tertentu.

Perintah untuk operasi kueri ini adalah seperti yang ditunjukkan di bawah ini.

kueri aws dynamodb \

--nama-tabelNamaTabelKu \

--filter-ekspresi 'OtherAttribute1 = :val' \

--ekspresi-atribut-nilai '{':val':{'S':'nilai1'}}'

Misalnya, kita dapat menggunakan perintah kueri di atas untuk mengambil lagu dengan durasi lebih dari 5 menit di tabel Musik kita. Untuk mencapai ini, kami akan menetapkan nilai OtherAttribute1 menjadi 5.00 dan MyTableName menjadi Music.

Hasilnya bisa seperti gambar di bawah ini:

Perlu untuk memotong daftar untuk singkatnya. Namun dari hasil, perintah kueri kami mengambil 11 item dengan nilai ekspresi filter 5,00 dari tabel Musik DynamoDB kami.

Mengambil semua Item Dengan Rentang Nilai Atribut Tertentu

Perintah di bawah ini berguna saat mengambil item dalam tabel tertentu:

kueri aws dynamodb \

--nama-tabel \

--kunci-kondisi-ekspresi 'nama_atribut ANTARA :val1 DAN :val2' \

--ekspresi-atribut-nilai '{':val1':{'N':''},':val2':{'N':''}}'

Tentu saja, Anda harus mengganti semua atribut dengan kredensial khusus Anda seperti yang seharusnya Anda lakukan dengan baris perintah lainnya. Misalnya, kami akan menggunakan tabel Karyawan kami dengan atribut kunci rentang yang diberi nama 'usia'. Kami akan bertujuan untuk mengambil majikan berusia antara 30 dan 42.

Baris perintah baru kita adalah sebagai berikut:

kueri aws dynamodb \

--nama-tabel Pengguna \

--kunci-kondisi-ekspresi 'usia ANTARA :val1 DAN :val2' \

--ekspresi-atribut-nilai '{':val1':{'N':'30'},':val2':{'N':'42'}}'

Menjalankan utilitas di atas akan memberikan respons yang serupa dengan yang ada pada gambar di bawah;

Ilustrasi di atas menunjukkan bahwa kueri mengembalikan 6 item, yang menunjukkan nilai atribut untuk setiap kueri. ScannedCount adalah jumlah item yang dipindai dalam tabel sedangkan CapacityUnits adalah jumlah unit yang dikonsumsi selama operasi.

Kesimpulan

Karena DynamoDB adalah database NoSQL, operasi kuerinya tidak berperilaku seperti database AQL biasa Anda. Tetapi begitu Anda melakukannya, Anda akan mengetahui bahwa operasinya cukup kuat dan akan membuat interaksi Anda dengan database menjadi lancar.