Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Jika Anda perlu menyempurnakan hasil Query
lebih lanjut, Anda dapat memberikan ekspresi filter secara opsional. Ekspresi filter menentukan item mana dalam hasil Query
yang harus dikembalikan kepada Anda. Semua hasil lainnya dibuang.
Filter ekspresi diterapkan setelah Query
selesai, namun sebelum hasilnya dikembalikan. Oleh karena itu, Query
menggunakan jumlah kapasitas baca yang sama, terlepas dari apakah ada ekspresi filter.
Operasi Query
dapat mengambil data maksimal 1 MB. Batasan ini berlaku sebelum ekspresi filter dievaluasi.
Filter ekspresi tidak boleh berisi atribut kunci partisi atau kunci urutan. Anda perlu menentukan atribut tersebut dalam ekspresi kondisi kunci, bukan ekspresi filter.
Sintaks untuk ekspresi filter mirip dengan ekspresi kondisi kunci. Ekspresi filter dapat menggunakan pembanding, fungsi, dan operator logika yang sama sebagai ekspresi kondisi utama. Selain itu, ekspresi filter dapat menggunakan operator tak sama dengan <>
(), operator OR
, operator CONTAINS
, operator IN
, operator BEGINS_WITH
, operator BETWEEN
, operator EXISTS
, dan operator SIZE
. Untuk informasi selengkapnya, silakan lihat Ekspresi kondisi kunci untuk operasi Query di DynamoDB dan Sintaks untuk ekspresi filter dan kondisi.
contoh
AWS CLI Contoh berikut query Thread
tabel untuk tertentu ForumName
(kunci partisi) dan Subject
(sort key). Dari item yang ditemukan, hanya rangkaian diskusi terpopuler yang dikembalikan—dengan kata lain, hanya rangkaian diskusi yang memiliki jumlah Views
lebih dari tertentu.
aws dynamodb query \ --table-name Thread \ --key-condition-expression "ForumName = :fn and Subject begins_with :sub" \ --filter-expression "#v >= :num" \ --expression-attribute-names '{"#v": "Views"}' \ --expression-attribute-values file://values.json
Argumen untuk --expression-attribute-values
disimpan dalam file values.json
.
{
":fn":{"S":"Amazon DynamoDB"},
":sub":{"S":"DynamoDB Thread 1"},
":num":{"N":"3"}
}
Perhatikan bahwa Views
adalah kata yang dicadangkan di DynamoDB (lihat Kata-kata penggunaan khusus di DynamoDB), sehingga contoh ini menggunakan #v
sebagai placeholder. Untuk informasi selengkapnya, lihat Nama atribut ekspresi (alias) di DynamoDB.
catatan
Ekspresi filter menghapus item dari set hasil Query
. Jika memungkinkan, hindari penggunaan Query
saat Anda ingin mengambil item dalam jumlah besar namun juga harus membuang sebagian besar item tersebut.