Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
DeleteItem
La DeleteItem richiesta consente di dire alla funzione AWS AppSync DynamoDB di effettuare una DeleteItem richiesta a DynamoDB e consente di specificare quanto segue:
-
La chiave dell'elemento in DynamoDB
-
Condizioni per la riuscita dell'operazione
La DeleteItem richiesta ha la seguente struttura:
type DynamoDBDeleteItemRequest = { operation: 'DeleteItem'; key: { [key: string]: any }; condition?: ConditionCheckExpression; customPartitionKey?: string; populateIndexFields?: boolean; _version?: number; };
I campi sono definiti come segue:
DeleteItem campi
-
operation -
L'operazione DynamoDB da eseguire. Per eseguire l'operazione
DeleteItemDynamoDB, il valore deve essere impostato suDeleteItem. Questo valore è obbligatorio. -
key -
La chiave dell'elemento in DynamoDB. Gli elementi DynamoDB possono avere una singola chiave hash o una chiave hash e una chiave di ordinamento, a seconda della struttura della tabella. Per ulteriori informazioni sulla specifica di un «valore digitato», vedi Type system (request mapping). Questo valore è obbligatorio.
-
condition -
Una condizione per determinare se la richiesta deve riuscire o no in base allo stato dell'oggetto già incluso in DynamoDB. Se non viene specificata alcuna condizione, la richiesta
DeleteItemelimina la voce indipendentemente dal suo stato attuale. Per ulteriori informazioni sulle condizioni, vedere Espressioni condizionali. Questo valore è facoltativo. -
_version -
Valore numerico che rappresenta l'ultima versione nota di un elemento. Questo valore è facoltativo. Questo campo viene utilizzato per il rilevamento dei conflitti ed è supportato solo nelle origini dati con versione.
customPartitionKey-
Se abilitato, questo valore di stringa modifica il formato dei
ds_pkrecordds_ske utilizzati dalla tabella delta sync quando il controllo delle versioni è abilitato (per ulteriori informazioni, consulta Rilevamento e sincronizzazione dei conflitti nella Guida per gli AWS AppSync sviluppatori). Se abilitata, è abilitata anche l'elaborazione dellapopulateIndexFieldsvoce. Questo campo è facoltativo. populateIndexFields-
Un valore booleano che, se abilitato insieme a
customPartitionKey, crea nuove voci per ogni record nella tabella delta sync, in particolare nelle colonnegsi_ds_pkegsi_ds_sk. Per ulteriori informazioni, consulta Rilevamento e sincronizzazione dei conflitti nella Guida per gli AWS AppSync sviluppatori. Questo campo è facoltativo.
L'elemento eliminato da DynamoDB viene automaticamente convertito nei tipi primitivi GraphQL e JSON ed è disponibile nel risultato del contesto (). context.result
Per ulteriori informazioni sulla conversione dei tipi DynamoDB, vedere Type system (response mapping).
Per ulteriori informazioni sui JavaScript resolver, consulta la panoramica dei resolver. JavaScript
Esempio 1
L'esempio seguente è un gestore di richieste di funzioni per una mutazione GraphQL. deleteItem(id: ID!) Se esiste già una voce con questo ID, viene eliminata.
import { util } from '@aws-appsync/utils'; export function request(ctx) { return { operation: 'DeleteItem', key: util.dynamodb.toMapValues({ id: ctx.args.id }), }; }
Esempio 2
L'esempio seguente è un gestore di richieste di funzioni per una mutazione GraphQL. deleteItem(id: ID!, expectedVersion: Int!) Se esiste già una voce con questo ID, viene eliminata, ma solo se il relativo campo version è impostato su expectedVersion:
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), }; }
Per ulteriori informazioni sull'API DeleteItem di DynamoDB, consulta la documentazione API di DynamoDB.