Pilih preferensi cookie Anda

Kami menggunakan cookie penting serta alat serupa yang diperlukan untuk menyediakan situs dan layanan. Kami menggunakan cookie performa untuk mengumpulkan statistik anonim sehingga kami dapat memahami cara pelanggan menggunakan situs dan melakukan perbaikan. Cookie penting tidak dapat dinonaktifkan, tetapi Anda dapat mengklik “Kustom” atau “Tolak” untuk menolak cookie performa.

Jika Anda setuju, AWS dan pihak ketiga yang disetujui juga akan menggunakan cookie untuk menyediakan fitur situs yang berguna, mengingat preferensi Anda, dan menampilkan konten yang relevan, termasuk iklan yang relevan. Untuk menerima atau menolak semua cookie yang tidak penting, klik “Terima” atau “Tolak”. Untuk membuat pilihan yang lebih detail, klik “Kustomisasi”.

Contoh CLI ekspresi kondisi DynamoDB

Mode fokus
Contoh CLI ekspresi kondisi DynamoDB - Amazon DynamoDB

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

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

Berikut ini adalah beberapa AWS Command Line Interface (AWS CLI) contoh penggunaan ekspresi kondisi. Contoh-contoh ini berdasarkan tabel ProductCatalog, yang diperkenalkan dalam Mengacu pada atribut item saat menggunakan ekspresi di DynamoDB. Kunci partisi untuk tabel ini adalah Id, dan tidak ada kunci urutan. Operasi PutItem berikut membuat item ProductCatalog sampel yang dirujuk oleh contoh.

aws dynamodb put-item \ --table-name ProductCatalog \ --item file://item.json

Argumen untuk --item disimpan dalam file item.json. (Untuk kemudahan, hanya beberapa atribut item yang digunakan.)

{ "Id": {"N": "456" }, "ProductCategory": {"S": "Sporting Goods" }, "Price": {"N": "650" } }

Put bersyarat

Operasi PutItem menimpa item dengan kunci primer yang sama (jika ada). Jika Anda ingin menghindari hal ini, gunakan ekspresi kondisi. Hal ini memungkinkan penulisan untuk dilanjutkan hanya jika item yang dimaksud belum memiliki kunci primer yang sama.

Contoh berikut digunakan attribute_not_exists() untuk memeriksa apakah kunci primer ada dalam tabel sebelum mencoba operasi tulis.

catatan

Jika kunci utama Anda terdiri dari kedua kunci partisi (pk) dan kunci sortir (sk), parameter akan memeriksa apakah attribute_not_exists(pk) DAN attribute_not_exists(sk) mengevaluasi menjadi benar atau salah sebagai pernyataan keseluruhan sebelum mencoba operasi tulis.

aws dynamodb put-item \ --table-name ProductCatalog \ --item file://item.json \ --condition-expression "attribute_not_exists(Id)"

Jika ekspresi kondisi bernilai false, DynamoDB mengembalikan pesan kesalahan berikut: Permintaan bersyarat gagal.

catatan

Untuk informasi selengkapnya tentang fungsi attribute_not_exists dan lainnya, lihat Kondisi dan filter ekspresi, operator, dan fungsi di DynamoDB.

Penghapusan bersyarat

Untuk melakukan penghapusan bersyarat, Anda menggunakan operasi DeleteItem dengan ekspresi kondisi. Ekspresi kondisi harus bernilai true agar operasi berhasil; jika tidak, operasi akan gagal.

Pertimbangkan item yang didefinisikan di atas.

Misalkan Anda ingin menghapus item, tetapi hanya dalam kondisi berikut:

  • ProductCategory adalah "Alat Olahraga" atau "Perlengkapan Berkebun."

  • Price adalah antara 500 dan 600.

Contoh berikut mencoba menghapus versi item.

aws dynamodb delete-item \ --table-name ProductCatalog \ --key '{"Id":{"N":"456"}}' \ --condition-expression "(ProductCategory IN (:cat1, :cat2)) and (Price between :lo and :hi)" \ --expression-attribute-values file://values.json

Argumen untuk --expression-attribute-values disimpan dalam file values.json.

{ ":cat1": {"S": "Sporting Goods"}, ":cat2": {"S": "Gardening Supplies"}, ":lo": {"N": "500"}, ":hi": {"N": "600"} }
catatan

Dalam ekspresi kondisi, : (karakter titik dua) menunjukkan nilai atribut ekspresi—placeholder untuk nilai aktual. Untuk informasi selengkapnya, lihat Menggunakan nilai atribut ekspresi di DynamoDB.

Untuk informasi selengkapnya tentang IN, AND, dan kata kunci lainnya, lihat Kondisi dan filter ekspresi, operator, dan fungsi di DynamoDB.

Dalam contoh ini, perbandingan ProductCategory bernilai true, tetapi perbandingan Price bernilai false. Hal ini menyebabkan ekspresi kondisi untuk bernilai false dan operasi DeleteItem gagal.

Pembaruan bersyarat

Untuk melakukan pembaruan bersyarat, Anda menggunakan operasi UpdateItem dengan ekspresi kondisi. Ekspresi kondisi harus bernilai true agar operasi berhasil; jika tidak, operasi akan gagal.

catatan

UpdateItem juga mendukung ekspresi pembaruan, di mana Anda menentukan modifikasi yang ingin Anda buat ke item. Untuk informasi selengkapnya, lihat Menggunakan ekspresi pembaruan di DynamoDB.

Misalkan Anda mulai dengan item yang didefinisikan di atas.

Contoh berikut melakukan operasi UpdateItem. Operasi ini mencoba untuk mengurangi Price dari produk sebesar 75—tetapi ekspresi kondisi mencegah pembaruan jika Price saat ini kurang dari atau sama dengan 500.

aws dynamodb update-item \ --table-name ProductCatalog \ --key '{"Id": {"N": "456"}}' \ --update-expression "SET Price = Price - :discount" \ --condition-expression "Price > :limit" \ --expression-attribute-values file://values.json

Argumen untuk --expression-attribute-values disimpan dalam file values.json.

{ ":discount": { "N": "75"}, ":limit": {"N": "500"} }

Jika Price awal adalah 650, operasi UpdateItem mengurangi Price menjadi 575. Jika Anda menjalankan operasi UpdateItem lagi, Price berkurang menjadi 500. Jika Anda menjalankannya untuk kali ketiga, ekspresi kondisi bernilai false, dan pembaruan gagal.

catatan

Dalam ekspresi kondisi, : (karakter titik dua) menunjukkan nilai atribut ekspresi—placeholder untuk nilai aktual. Untuk informasi selengkapnya, lihat Menggunakan nilai atribut ekspresi di DynamoDB.

Untuk informasi selengkapnya tentang ">" dan operator lainnya, lihat Kondisi dan filter ekspresi, operator, dan fungsi di DynamoDB.

Contoh ekspresi bersyarat

Untuk informasi selengkapnya tentang fungsi yang digunakan dalam contoh berikut, lihat Kondisi dan filter ekspresi, operator, dan fungsi di DynamoDB. Jika Anda ingin tahu lebih banyak tentang cara menentukan jenis atribut yang berbeda dalam suatu ekspresi, lihat Mengacu pada atribut item saat menggunakan ekspresi di DynamoDB.

Memeriksa atribut dalam item

Anda dapat memeriksa keberadaan (atau ketiadaan) atribut apa pun. Jika ekspresi kondisi bernilai true, operasi berhasil; jika tidak, operasi akan gagal.

Contoh berikut menggunakan attribute_not_exists untuk menghapus produk hanya jika operasi tidak memiliki atribut Price.

aws dynamodb delete-item \ --table-name ProductCatalog \ --key '{"Id": {"N": "456"}}' \ --condition-expression "attribute_not_exists(Price)"

DynamoDB juga menyediakan fungsi attribute_exists. Contoh berikut menghapus produk hanya jika operasi telah menerima ulasan buruk.

aws dynamodb delete-item \ --table-name ProductCatalog \ --key '{"Id": {"N": "456"}}' \ --condition-expression "attribute_exists(ProductReviews.OneStar)"

Memeriksa jenis atribut

Anda dapat memeriksa jenis daya nilai atribut dengan menggunakan fungsi attribute_type. Jika ekspresi kondisi bernilai true, operasi berhasil; jika tidak, operasi akan gagal.

Contoh berikut menggunakan attribute_type untuk menghapus produk hanya jika memiliki atribut Color jenis Set String.

aws dynamodb delete-item \ --table-name ProductCatalog \ --key '{"Id": {"N": "456"}}' \ --condition-expression "attribute_type(Color, :v_sub)" \ --expression-attribute-values file://expression-attribute-values.json

Argumen untuk --expression-attribute-values disimpan dalam expression-attribute-values file.json.

{ ":v_sub":{"S":"SS"} }

Memeriksa nilai awal string

Anda dapat memeriksa apakah nilai atribut String dimulai dengan substring tertentu dengan menggunakan fungsi begins_with. Jika ekspresi kondisi bernilai true, operasi berhasil; jika tidak, operasi akan gagal.

Contoh berikut menggunakan begins_with untuk menghapus produk hanya jika elemen FrontView dari peta Pictures dimulai dengan nilai tertentu.

aws dynamodb delete-item \ --table-name ProductCatalog \ --key '{"Id": {"N": "456"}}' \ --condition-expression "begins_with(Pictures.FrontView, :v_sub)" \ --expression-attribute-values file://expression-attribute-values.json

Argumen untuk --expression-attribute-values disimpan dalam expression-attribute-values file.json.

{ ":v_sub":{"S":"http://"} }

Memeriksa elemen dalam set

Anda dapat memeriksa elemen dalam set atau mencari substring dalam string dengan menggunakan fungsi contains. Jika ekspresi kondisi bernilai true, operasi berhasil; jika tidak, operasi akan gagal.

Contoh berikut menggunakan contains untuk menghapus produk hanya jika elemen Set String Color memiliki elemen dengan nilai tertentu.

aws dynamodb delete-item \ --table-name ProductCatalog \ --key '{"Id": {"N": "456"}}' \ --condition-expression "contains(Color, :v_sub)" \ --expression-attribute-values file://expression-attribute-values.json

Argumen untuk --expression-attribute-values disimpan dalam expression-attribute-values file.json.

{ ":v_sub":{"S":"Red"} }

Memeriksa ukuran nilai atribut

Anda dapat memeriksa ukuran nilai atribut dengan menggunakan fungsi size. Jika ekspresi kondisi bernilai true, operasi berhasil; jika tidak, operasi akan gagal.

Contoh berikut menggunakan size untuk menghapus produk hanya jika ukuran atribut Binari VideoClip lebih besar dari 64000 byte.

aws dynamodb delete-item \ --table-name ProductCatalog \ --key '{"Id": {"N": "456"}}' \ --condition-expression "size(VideoClip) > :v_sub" \ --expression-attribute-values file://expression-attribute-values.json

Argumen untuk --expression-attribute-values disimpan dalam expression-attribute-values file.json.

{ ":v_sub":{"N":"64000"} }
PrivasiSyarat situsPreferensi cookie
© 2025, Amazon Web Services, Inc. atau afiliasinya. Semua hak dilindungi undang-undang.