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