Contoh Pertanyaan DynamoDB

Contoh Pertanyaan Dynamodb



Pangkalan data ialah koleksi data—DynamoDB tidak terkecuali. Pangkalan data mengandungi banyak data yang mungkin sukar diperoleh tanpa mekanisme yang telah ditetapkan. Di sinilah arahan pertanyaan memainkan peranan penting.

Seperti mana-mana sistem pengurusan pangkalan data, DynamoDB menawarkan pelbagai kaedah pertanyaan di mana anda boleh berinteraksi dengan sistem untuk mengakses dan memanipulasi data anda. Pertanyaan dalam DynamoDB ialah alat yang sangat berkuasa yang membolehkan anda mendapatkan semula item atau sekumpulan item yang berkaitan dengan arahan pertanyaan.

Artikel ini menggariskan contoh utama Operasi Pertanyaan DynamoDB.







Contoh Pertanyaan Biasa DynamoDB

Tingkah laku lalai untuk operasi pertanyaan dalam DynamoDB adalah untuk mengembalikan semua item yang dikaitkan dengan item pertanyaan. Menariknya, arahan pertanyaan dalam DynamoDB boleh digunakan dengan jadual atau indeks sekunder.



Walau apa pun keadaannya, sentiasa pastikan anda menyatakan syarat kesamaan untuk nilai kunci partition anda. Sekali lagi, anda mungkin perlu menyediakan syarat yang berbeza untuk kunci isihan sekiranya anda menggunakan satu dalam arahan.



Parameter lain yang akan anda temui semasa menanyakan DynamoDB juga termasuk KeyConditionExpression dan FilterExpression. KeyConditionExpression menentukan nilai utama yang anda ingin tanyakan. Sebaliknya, FilterExpression mengalih keluar item daripada hasil pertanyaan sebelum anda mendapat respons. Anda akan menggunakan ExpressionAttributeValues ​​sebagai ruang letak untuk parameter ungkapan yang dinyatakan.





Contoh Pertanyaan DynamoDB termasuk:

Mencari Item Tunggal dari Jadual Berdasarkan Kekunci Utama

Anda boleh menggunakan utiliti Pertanyaan dalam DynmoDB untuk mencari satu item dengan bergantung pada gabungan kekunci partition item dan nilai kekunci isih. Sintaks untuk operasi sedemikian adalah seperti berikut:



pertanyaan aws dynamodb \

--table-name MyTableName \

--ungkapan-syarat-kunci 'PartitionKey = :pk DAN SortKey = :sk' \

--expression-attribute-values '{':pk':{'S':'a123b'},':sk':{'S':'def456b'}}'

Utiliti pertanyaan di atas bertujuan untuk mendapatkan semula item dengan nilai kunci partition a1234b dan nilai kunci isihan odef456b daripada jadual MyTableName. Sebagai contoh, kami boleh menggunakan utiliti di atas untuk mencari item dalam jadual 'Pesanan' kami. Nilai kunci partition item boleh wr546gg mewakili Customer_ID, manakala nilai kunci isihannya boleh 24536433 mewakili nombor pesanan.

Hasilnya boleh seperti berikut:

Hasil di atas mengembalikan Buku Percutian sebagai satu-satunya item yang mempunyai nilai kunci partition wr546gg dan nilai kunci isihan 24536433. Ia juga membawa anda semua atribut tambahan lain yang dikaitkan dengan item tersebut. Dalam ilustrasi kami, ia membawa balik nombor invois dan jumlah yang dibayar.

Terutama, arahan pertanyaan akan mengembalikan senarai kosong jika tiada item yang sepadan dengan nilai kunci utama yang ditentukan.

Dapatkan semula Semua Item Daripada Jadual DynamoDB Memadankan Nilai Atribut Khusus

Gunakan ungkapan penapis untuk mendapatkan semula semua item yang mempunyai nilai atribut yang serupa dalam jadual DynamoDB tertentu.

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

pertanyaan aws dynamodb \

--table-name MyTableName \

--ekspresi penapis 'OtherAttribute1 = :val' \

--expression-attribute-values '{':val':{'S':'value1'}}'

Sebagai contoh, kami boleh menggunakan perintah pertanyaan di atas untuk mendapatkan semula lagu dengan lebih banyak lagu yang pergi selama lebih 5 minit dalam jadual Muzik kami. Untuk mencapai matlamat ini, kami akan menetapkan nilai OtherAttribute1 kami kepada 5.00 dan MyTableName kepada Muzik.

Hasilnya boleh seperti yang ditunjukkan di bawah:

Ia adalah perlu untuk memotong senarai untuk ringkasnya. Tetapi daripada keputusan, arahan pertanyaan kami mendapatkan 11 item dengan nilai ungkapan penapis 5.00 daripada jadual Muzik DynamoDB kami.

Mendapatkan semula semua Item Dengan Julat Nilai Atribut Tertentu

Perintah di bawah berguna apabila mengambil item dalam jadual tertentu:

pertanyaan aws dynamodb \

--table-name \

--ungkapan-syarat-kunci 'nama_atribut ANTARA :val1 DAN :val2' \

--expression-attribute-values '{':val1':{'N':''},':val2':{'N':''}}'

Sudah tentu, anda perlu menggantikan semua atribut dengan kelayakan tersuai anda seperti yang sepatutnya dengan mana-mana baris arahan lain. Sebagai contoh, kami akan menggunakan jadual Pekerja kami dengan atribut utama julat yang diberi nama 'umur.' Kami akan menyasarkan untuk mendapatkan semula majikan yang berumur antara 30 dan 42 tahun.

Baris arahan baharu kami adalah seperti berikut:

pertanyaan aws dynamodb \

--table-name Pengguna \

--ungkapan-syarat-kunci 'umur ANTARA :val1 DAN :val2' \

--expression-attribute-values '{':val1':{'N':'30'},':val2':{'N':'42'}}'

Menjalankan utiliti di atas akan membawa tindak balas yang serupa dengan yang dalam rajah di bawah;

Ilustrasi di atas menunjukkan bahawa pertanyaan membawa balik 6 item, menunjukkan nilai atribut untuk setiap pertanyaan. ScannedCount ialah bilangan item yang diimbas dalam jadual manakala CapacityUnits ialah jumlah unit yang digunakan semasa operasi.

Kesimpulan

Memandangkan DynamoDB ialah pangkalan data NoSQL, operasi pertanyaannya tidak berkelakuan seperti pangkalan data AQL biasa anda. Tetapi sebaik sahaja anda melakukannya, anda akan mengetahui bahawa operasi itu cukup berkuasa dan akan menjadikan interaksi anda dengan pangkalan data menjadi cepat.