Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
BatchPutItem
Dokumen pemetaan BatchPutItem
permintaan memungkinkan Anda memberi tahu AWS AppSync DynamoDB resolver untuk membuat BatchWriteItem
permintaan ke DynamoDB untuk menempatkan beberapa item, berpotensi di beberapa tabel. Untuk templat permintaan ini, Anda harus menentukan yang berikut:
-
Nama tabel tempat meletakkan item
-
Item lengkap untuk dimasukkan ke dalam setiap tabel
Batas BatchWriteItem
DynamoDB berlaku dan tidak ada ekspresi kondisi yang dapat diberikan.
Dokumen BatchPutItem
pemetaan memiliki struktur sebagai berikut:
{ "version" : "2018-05-29", "operation" : "BatchPutItem", "tables" : { "table1": [ ## Item to put { "foo" : ... typed value, "bar" : ... typed value }, ## Item2 to put { "foo" : ... typed value, "bar" : ... typed value }], "table2": [ ## Item3 to put { "foo" : ... typed value, "bar" : ... typed value }, ## Item4 to put { "foo" : ... typed value, "bar" : ... typed value }], } }
Bidang didefinisikan sebagai berikut:
BatchPutItem bidang
-
version
-
Versi definisi template. Hanya
2018-05-29
didukung. Nilai ini diperlukan. -
operation
-
Operasi DynamoDB untuk melakukan. Untuk melakukan operasi
BatchPutItem
DynamoDB, ini harus diatur ke.BatchPutItem
Nilai ini diperlukan. -
tables
-
Tabel DynamoDB untuk menempatkan item di. Setiap entri tabel mewakili daftar item DynamoDB untuk disisipkan untuk tabel khusus ini. Setidaknya satu meja harus disediakan. Nilai ini diperlukan.
Hal-hal yang perlu diingat:
-
Item yang disisipkan sepenuhnya dikembalikan dalam respons, jika berhasil.
-
Jika item belum dimasukkan dalam tabel, elemen null ditampilkan di blok data untuk tabel tersebut.
-
Item yang disisipkan diurutkan per tabel, berdasarkan urutan penyediaannya di dalam templat pemetaan permintaan.
-
Setiap
Put
perintah di dalam aBatchPutItem
adalah atom, namun, batch dapat diproses sebagian. Jika batch diproses sebagian karena kesalahan, kunci yang belum diproses dikembalikan sebagai bagian dari hasil pemanggilan di dalam blok. unprocessedKeys -
BatchPutItem
terbatas pada 25 item. -
Operasi ini tidak didukung saat digunakan dengan deteksi konflik. Menggunakan keduanya secara bersamaan dapat mengakibatkan kesalahan.
Untuk contoh template pemetaan permintaan berikut:
{ "version": "2018-05-29", "operation": "BatchPutItem", "tables": { "authors": [ { "author_id": { "S": "a1" }, "author_name": { "S": "a1_name" } }, ], "posts": [ { "author_id": { "S": "a1" }, "post_id": { "S": "p2" }, "post_title": { "S": "title" } } ], } }
Hasil pemanggilan yang tersedia $ctx.result
adalah sebagai berikut:
{ "data": { "authors": [ null ], "posts": [ # Was inserted { "author_id": "a1", "post_id": "p2", "post_title": "title" } ] }, "unprocessedItems": { "authors": [ # This item was not processed due to an error { "author_id": "a1", "author_name": "a1_name" } ], "posts": [] } }
$ctx.error
Berisi rincian tentang kesalahan. Data kunci, unprocessedItems, dan setiap kunci tabel yang disediakan dalam template pemetaan permintaan dijamin akan hadir dalam hasil pemanggilan. Item yang telah dimasukkan ada di blok data. Item yang belum diproses ditandai sebagai null di dalam blok data dan ditempatkan di dalam unprocessedItemsblok.
Untuk contoh yang lebih lengkap, ikuti tutorial DynamoDB Batch dengan di sini AppSync Tutorial: DynamoDB batch resolvers.