

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

# DeleteItem
<a name="aws-appsync-resolver-mapping-template-reference-dynamodb-deleteitem"></a>

Dokumen pemetaan `DeleteItem` permintaan memungkinkan Anda memberi tahu AWS AppSync DynamoDB resolver untuk membuat `DeleteItem` permintaan ke DynamoDB, dan memungkinkan Anda untuk menentukan hal berikut:
+ Kunci item di DynamoDB
+ Kondisi agar operasi berhasil

Dokumen `DeleteItem` pemetaan memiliki struktur sebagai berikut:

```
{
    "version" : "2018-05-29",
    "operation" : "DeleteItem",
    "customPartitionKey" : "foo",
    "populateIndexFields" : boolean value,
    "key": {
        "foo" : ... typed value,
        "bar" : ... typed value
    },
    "condition" : {
        ...
    },
    "_version" : 1
}
```

Bidang didefinisikan sebagai berikut:

## DeleteItem bidang
<a name="deleteitem-list"></a>

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

** `version` **  
Versi definisi template. `2017-02-28`dan `2018-05-29` saat ini didukung. Nilai ini diperlukan.

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

** `key` **  
Kunci item di DynamoDB. Item DynamoDB mungkin memiliki kunci hash tunggal, atau kunci hash dan kunci sortir, tergantung pada struktur tabel. Untuk informasi selengkapnya tentang menentukan “nilai yang diketik”, lihat Mengetik [sistem (pemetaan permintaan)](aws-appsync-resolver-mapping-template-reference-dynamodb-typed-values-request.md). Nilai ini diperlukan.

** `condition` **  
Suatu kondisi untuk menentukan apakah permintaan harus berhasil atau tidak, berdasarkan status objek yang sudah ada di DynamoDB. Jika tidak ada kondisi yang ditentukan, `DeleteItem` permintaan menghapus item terlepas dari keadaan saat ini. Untuk informasi selengkapnya tentang kondisi, lihat [Ekspresi kondisi](aws-appsync-resolver-mapping-template-reference-dynamodb-condition-expressions.md). Nilai ini bersifat opsional.

** `_version` **  
Nilai numerik yang mewakili versi item terbaru yang diketahui. Nilai ini bersifat opsional. Bidang ini digunakan untuk *Deteksi Konflik* dan hanya didukung pada sumber data berversi.

**`customPartitionKey`**  
*Saat diaktifkan, nilai string ini mengubah format `ds_sk` dan `ds_pk` catatan yang digunakan oleh tabel sinkronisasi delta saat pembuatan versi telah diaktifkan (untuk informasi selengkapnya, lihat [Deteksi konflik dan sinkronisasi](https://docs.aws.amazon.com/appsync/latest/devguide/conflict-detection-and-sync.html) di Panduan Pengembang AWS AppSync ).* Saat diaktifkan, pemrosesan `populateIndexFields` entri juga diaktifkan. Bidang ini bersifat opsional.

**`populateIndexFields`**  
Nilai boolean yang, ketika diaktifkan **bersama dengan `customPartitionKey`**, membuat entri baru untuk setiap catatan dalam tabel sinkronisasi delta, khususnya di kolom dan`gsi_ds_pk`. `gsi_ds_sk` Untuk informasi selengkapnya, lihat [Deteksi dan sinkronisasi konflik](https://docs.aws.amazon.com/appsync/latest/devguide/conflict-detection-and-sync.html) di *Panduan AWS AppSync Pengembang*. Bidang ini bersifat opsional. 

Item yang dihapus dari DynamoDB secara otomatis diubah menjadi tipe primitif GraphQL dan JSON dan tersedia dalam konteks pemetaan (). `$context.result`

Untuk informasi selengkapnya tentang konversi tipe DynamoDB, [lihat Mengetik sistem (](aws-appsync-resolver-mapping-template-reference-dynamodb-typed-values-responses.md)pemetaan respons).

Untuk informasi selengkapnya tentang template pemetaan respons, lihat Ringkasan template [pemetaan Resolver](resolver-mapping-template-reference-overview.md#aws-appsync-resolver-mapping-template-reference-overview).

## Contoh 1
<a name="id6"></a>

Contoh berikut adalah template pemetaan untuk mutasi GraphQL. `deleteItem(id: ID!)` Jika ada item dengan ID ini, item tersebut akan dihapus.

```
{
    "version" : "2017-02-28",
    "operation" : "DeleteItem",
    "key" : {
        "id" : $util.dynamodb.toDynamoDBJson($ctx.args.id)
    }
}
```

## Contoh 2
<a name="id7"></a>

Contoh berikut adalah template pemetaan untuk mutasi GraphQL. `deleteItem(id: ID!, expectedVersion: Int!)` Jika item ada dengan ID ini, itu akan dihapus, tetapi hanya jika `version` bidangnya disetel ke`expectedVersion`:

```
{
    "version" : "2017-02-28",
    "operation" : "DeleteItem",
    "key" : {
        "id" : $util.dynamodb.toDynamoDBJson($ctx.args.id)
    },
    "condition" : {
        "expression"       : "attribute_not_exists(id) OR version = :expectedVersion",
        "expressionValues" : {
            ":expectedVersion" : $util.dynamodb.toDynamoDBJson($expectedVersion)
        }
    }
}
```

Untuk informasi selengkapnya tentang DynamoDB API, lihat `DeleteItem` dokumentasi [DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_DeleteItem.html) API.