DeleteItem - AWS AppSync

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

DeleteItem

DeleteItemPermintaan memungkinkan Anda memberi tahu fungsi AWS AppSync DynamoDB untuk membuat DeleteItem permintaan ke DynamoDB, dan memungkinkan Anda untuk menentukan yang berikut:

  • Kunci item di DynamoDB

  • Kondisi agar operasi berhasil

DeleteItemPermintaan memiliki struktur sebagai berikut:

type DynamoDBDeleteItemRequest = { operation: 'DeleteItem'; key: { [key: string]: any }; condition?: ConditionCheckExpression; customPartitionKey?: string; populateIndexFields?: boolean; _version?: number; };

Bidang didefinisikan sebagai berikut:

DeleteItem bidang

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). 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. 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 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 dangsi_ds_pk. gsi_ds_sk Untuk informasi selengkapnya, lihat Deteksi dan sinkronisasi konflik di Panduan AWS AppSync Pengembang. Bidang ini bersifat opsional.

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

Untuk informasi selengkapnya tentang konversi tipe DynamoDB, lihat Mengetik sistem (pemetaan respons).

Untuk informasi selengkapnya tentang JavaScript resolver, lihat ikhtisar JavaScript resolver.

Contoh 1

Contoh berikut adalah penangan permintaan fungsi untuk mutasi GraphQL. deleteItem(id: ID!) Jika ada item dengan ID ini, item tersebut akan dihapus.

import { util } from '@aws-appsync/utils'; export function request(ctx) { return { operation: 'DeleteItem', key: util.dynamodb.toMapValues({ id: ctx.args.id }), }; }

Contoh 2

Contoh berikut adalah penangan permintaan fungsi untuk mutasi GraphQL. deleteItem(id: ID!, expectedVersion: Int!) Jika item ada dengan ID ini, itu akan dihapus, tetapi hanya jika version bidangnya disetel keexpectedVersion:

import { util } from '@aws-appsync/utils'; export function request(ctx) { const { id, expectedVersion } = ctx.args; const condition = { id: { attributeExists: true }, version: { eq: expectedVersion }, }; return { operation: 'DeleteItem', key: util.dynamodb.toMapValues({ id }), condition: util.transform.toDynamoDBConditionExpression(condition), }; }

Untuk informasi selengkapnya tentang DynamoDB, lihat DeleteItem API dokumentasi DynamoDB. API