BatchPutItem - AWS AppSync

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 a BatchPutItem 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

  • BatchPutItemterbatas 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.errorBerisi 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.