Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
BatchDeleteItem
Ob BatchDeleteItem jek permintaan memungkinkan Anda memberi tahu fungsi AWS AppSync DynamoDB untuk membuat BatchWriteItem permintaan ke DynamoDB untuk menghapus beberapa item, berpotensi di beberapa tabel. Untuk objek permintaan ini, Anda harus menentukan yang berikut:
-
Nama tabel tempat untuk menghapus item
-
Kunci item yang akan dihapus dari setiap tabel
Batas DynamoDB BatchWriteItem berlaku dan tidak ada ekspresi kondisi yang dapat disediakan.
Ob BatchDeleteItem jek permintaan memiliki struktur sebagai berikut:
type DynamoDBBatchDeleteItemRequest = { operation: 'BatchDeleteItem'; tables: { [tableName: string]: { [key: string]: any }[]; }; };
Bidang didefinisikan sebagai berikut:
BatchDeleteItem bidang
-
operation -
Operasi DynamoDB untuk melakukan. Untuk melakukan operasi
BatchDeleteItemDynamoDB, ini harus disetel ke.BatchDeleteItemNilai ini diperlukan. -
tables -
Tabel DynamoDB untuk menghapus item dari. Setiap tabel adalah daftar kunci DynamoDB yang mewakili kunci utama dari item yang akan dihapus. Item DynamoDB mungkin memiliki kunci hash tunggal, atau kunci hash dan kunci pengurutan, tergantung pada struktur tabel. Untuk informasi selengkapnya tentang cara menentukan “nilai yang diketik”, lihat Sistem tipe (pemetaan permintaan). Setidaknya satu meja harus disediakan. Nil
tablesainya diperlukan.
Hal-hal yang perlu diingat:
-
Bertentangan
DeleteItemdengan operasi, item yang dihapus sepenuhnya tidak dikembalikan dalam respons. Hanya kunci yang dilewatkan dikembalikan. -
Jika item belum dihapus dari tabel, elemen null muncul di blok data untuk tabel itu.
-
Hasil pemanggilan diurutkan per tabel, berdasarkan urutan di mana mereka disediakan di dalam objek permintaan.
-
Setiap
Deleteperintah di dalam aBatchDeleteItemadalah atom. Namun batch dapat diproses sebagian. Jika batch diproses sebagian karena kesalahan, kunci yang tidak diproses dikembalikan sebagai bagian dari hasil pemanggilan di dalam blok un processedKeys. -
BatchDeleteItemdibatasi hingga 25 kunci. -
Operasi ini tidak didukung bila digunakan dengan deteksi konflik. Menggunakan keduanya secara bersamaan dapat mengakibatkan kesalahan.
Untuk contoh berikut handler permintaan fungsi:
import { util } from '@aws-appsync/utils'; export function request(ctx) { const { authorId, postId } = ctx.args; return { operation: 'BatchDeleteItem', tables: { authors: [util.dynamodb.toMapValues({ authorId })], posts: [util.dynamodb.toMapValues({ authorId, postId })], }, }; }
Hasil pemanggilan yang tersedia ctx.result adalah sebagai berikut:
{ "data": { "authors": [null], "posts": [ // Was deleted { "authorId": "a1", "postId": "p2" } ] }, "unprocessedKeys": { "authors": [ // This key was not processed due to an error { "authorId": "a1" } ], "posts": [] } }
Ber ctx.error isi rincian tentang kesalahan. Data kunci, unprocessedKeys, dan setiap kunci tabel yang disediakan dalam objek permintaan fungsi dijamin akan hadir dalam hasil pemanggilan. Item yang telah dihapus ada di blok data. Item yang belum diproses ditandai sebagai null di dalam blok data dan ditempatkan di dalam blok unprocessed Keys.