Ekspresi filter untuk operasi Kueri - Amazon DynamoDB

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Ekspresi filter untuk operasi Kueri

Jika Anda perlu menyempurnakan hasil Queryl ebih 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. Lihat informasi yang lebih lengkap di Ekspresi kondisi kunci untuk operasi Query 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 = :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 Disimpan kata-kata di DynamoDB), sehingga contoh ini menggunakan #v sebagai placeholder. Untuk informasi selengkapnya, lihat Nama atribut ekspresi 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.