

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

# BatchDeleteItem
<a name="aws-appsync-resolver-mapping-template-reference-dynamodb-batch-delete-item"></a>

Dokumen pemetaan `BatchDeleteItem` permintaan memungkinkan Anda memberi tahu penyelesai AWS AppSync DynamoDB untuk membuat `BatchWriteItem` permintaan ke DynamoDB untuk menghapus beberapa item, berpotensi di beberapa tabel. Untuk template permintaan ini, Anda harus menentukan yang berikut:
+ Nama tabel tempat menghapus item
+ Kunci item yang akan dihapus dari setiap tabel

Batas `BatchWriteItem` DynamoDB berlaku **dan tidak ada ekspresi kondisi** yang dapat diberikan.

Dokumen `BatchDeleteItem` pemetaan memiliki struktur sebagai berikut:

```
{
    "version" : "2018-05-29",
    "operation" : "BatchDeleteItem",
    "tables" : {
        "table1": [
        ## Item to delete Key
        {
             "foo" : ... typed value,
             "bar" : ... typed value
        },
        ## Item2 to delete Key
        {
             "foo" : ... typed value,
             "bar" : ... typed value
        }],
        "table2": [
        ## Item3 to delete Key
        {
             "foo" : ... typed value,
             "bar" : ... typed value
        },
        ## Item4 to delete Key
        {
             "foo" : ... typed value,
             "bar" : ... typed value
        }],
    }
}
```

Bidang didefinisikan sebagai berikut:

## BatchDeleteItem bidang
<a name="BatchDeleteItem-list"></a>

### BatchDeleteItem daftar bidang
<a name="BatchDeleteItem-list-col"></a>

** `version` **  
Versi definisi template. Hanya `2018-05-29` didukung. Nilai ini diperlukan.

** `operation` **  
Operasi DynamoDB untuk melakukan. Untuk melakukan operasi `BatchDeleteItem` DynamoDB, ini harus diatur ke. `BatchDeleteItem` Nilai ini diperlukan.

** `tables` **  
Tabel DynamoDB untuk menghapus item dari. Setiap tabel adalah daftar kunci DynamoDB yang mewakili kunci utama item yang akan dihapus. Item DynamoDB mungkin memiliki kunci hash tunggal, atau kunci hash dan kunci sortir, tergantung pada struktur tabel. Untuk informasi selengkapnya tentang cara menentukan “nilai yang diketik”, lihat Mengetik [sistem (pemetaan permintaan)](aws-appsync-resolver-mapping-template-reference-dynamodb-typed-values-request.md). Setidaknya satu meja harus disediakan. `tables`Nilai diperlukan.

Hal-hal yang perlu diingat:
+ Berlawanan dengan `DeleteItem` operasi, item yang dihapus sepenuhnya tidak dikembalikan dalam respons. Hanya kunci yang dilewati yang 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 template pemetaan permintaan.
+ Setiap `Delete` perintah di dalam a `BatchDeleteItem` 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.*
+  `BatchDeleteItem`terbatas pada 25 kunci.
+ 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": "BatchDeleteItem",
  "tables": {
    "authors": [
        {
          "author_id": {
            "S": "a1"
          }
        },
    ],
    "posts": [
        {
          "author_id": {
            "S": "a1"
          },
          "post_id": {
            "S": "p2"
          }
        }
    ],
  }
}
```

Hasil pemanggilan yang tersedia `$ctx.result` adalah sebagai berikut:

```
{
   "data": {
     "authors": [null],
     "posts": [
        # Was deleted
        {
          "author_id": "a1",
          "post_id": "p2"
        }
     ]
   },
   "unprocessedKeys": {
     "authors": [
        # This key was not processed due to an error
        {
          "author_id": "a1"
        }
      ],
     "posts": []
   }
}
```

`$ctx.error`Berisi rincian tentang kesalahan. **Data** kunci, **UnprocessedKeys**, dan setiap kunci tabel yang disediakan dalam template pemetaan permintaan 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 **UnprocessedKeys**.

Untuk contoh yang lebih lengkap, ikuti tutorial DynamoDB Batch [dengan di sini AppSync Tutorial: DynamoDB](tutorial-dynamodb-batch.md#aws-appsync-tutorial-dynamodb-batch) batch resolvers.