Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
DeleteItem
Per DeleteItem mintaan 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
Per DeleteItem mintaan 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
DeleteItemDynamoDB, ini harus disetel ke.DeleteItemNilai ini diperlukan. -
key -
Kunci item di DynamoDB. Item DynamoDB mungkin memiliki kunci hash tunggal, atau kunci hash dan kunci pengurutan, tergantung pada struktur tabel. Untuk informasi selengkapnya tentang menentukan “nilai yang diketik”, lihat Sistem tipe (pemetaan permintaan). Nilai ini diperlukan.
-
condition -
Kondisi untuk menentukan apakah permintaan harus berhasil atau tidak, berdasarkan status objek yang sudah ada di DynamoDB. Jika tidak ada kondisi yang ditentukan,
DeleteItempermintaan akan menghapus item terlepas dari statusnya saat ini. Untuk informasi selengkapnya tentang kondisi, lihat Ek spresi kondisi. Nilai ini bersifat opsional. -
_version -
Nilai numerik yang mewakili versi terbaru dari item yang diketahui. Nilai ini bersifat opsional. Bidang ini digunakan untuk Det eksi Konf lik dan hanya didukung pada sumber data berversi.
customPartitionKey-
Saat diaktifkan, nilai string ini mengubah format
ds_skdands_pkcatatan yang digunakan oleh tabel sinkronisasi delta saat pembuatan versi telah diaktifkan (untuk informasi selengkapnya, lihat Deteksi dan sinkronisasi konflik di Panduan Peng AWS AppSync embang). Saat diaktifkan, pemrosesanpopulateIndexFieldsentri juga diaktifkan. Ini adalah bidang opsional. populateIndexFields-
Nilai boolean yang, ketika diaktifkan bersama dengan
customPartitionKey, membuat entri baru untuk setiap catatan dalam tabel sinkronisasi delta, khususnya di kolomgsi_ds_pkdangsi_ds_sk. Untuk informasi selengkapnya, lihat Deteksi dan sinkronisasi konflik di Panduan AWS AppSync Pengembang. Ini adalah bidang opsional.
Item yang dihapus dari DynamoDB secara otomatis diubah menjadi tipe primitif GraphQL dan JSON dan tersedia dalam hasil konteks (). context.result
Untuk informasi selengkapnya tentang konversi tipe DynamoDB, lihat Sistem tipe (pemetaan respons).
Untuk informasi selengkapnya tentang JavaScript resolver, lihat ikhtisar JavaScript resolver.
Contoh 1
Contoh berikut adalah handler permintaan fungsi untuk mut deleteItem(id: ID!) asi GraphQL. 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 handler permintaan fungsi untuk mut deleteItem(id: ID!, expectedVersion: Int!) asi GraphQL. Jika ada item dengan ID ini, item 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 DeleteItem API, lihat dokumentasi DynamoDB API.