

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
<a name="js-aws-appsync-resolver-reference-dynamodb-deleteitem"></a>

La `DeleteItem` richiesta consente di indicare 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
<a name="js-deleteitem-list"></a>

### DeleteItem elenco dei campi
<a name="js-deleteitem-list-col"></a>

** `operation` **  
L'operazione DynamoDB da eseguire. Per eseguire l'operazione `DeleteItem` DynamoDB, il valore deve essere impostato su `DeleteItem`. Questo valore è obbligatorio.

** `key` **  
La chiave dell'elemento in DynamoDB. Gli elementi DynamoDB possono avere una sola chiave hash o una chiave hash e una chiave di ordinamento, a seconda della struttura della tabella. [Per ulteriori informazioni sulla specificazione di un «valore digitato», consulta Sistema di tipi (mappatura delle richieste).](https://docs.aws.amazon.com/appsync/latest/devguide/js-resolver-reference-dynamodb.html#js-aws-appsync-resolver-reference-dynamodb-typed-values-request) 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 `DeleteItem` elimina la voce indipendentemente dal suo stato attuale. [Per ulteriori informazioni sulle condizioni, vedere Espressioni di condizione.](https://docs.aws.amazon.com/appsync/latest/devguide/js-resolver-reference-dynamodb.html#js-aws-appsync-resolver-reference-dynamodb-condition-expressions) 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_pk` record `ds_sk` and utilizzati dalla tabella delta sync quando il controllo delle versioni è abilitato (per ulteriori informazioni, consulta [Conflict detection and sync](https://docs.aws.amazon.com/appsync/latest/devguide/conflict-detection-and-sync.html) nella *AWS AppSync Developer Guide*). Se abilitata, è abilitata anche l'elaborazione della `populateIndexFields` voce. 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 colonne `gsi_ds_pk` and`gsi_ds_sk`. Per ulteriori informazioni, consulta [Rilevamento e sincronizzazione dei conflitti](https://docs.aws.amazon.com/appsync/latest/devguide/conflict-detection-and-sync.html) nella Guida per gli *AWS AppSync sviluppatori*. Questo campo è facoltativo. 

L'elemento eliminato da DynamoDB viene automaticamente convertito in tipi primitivi GraphQL e JSON ed è disponibile nel contesto result (). `context.result`

Per ulteriori informazioni sulla conversione dei tipi in DynamoDB, [vedere Sistema dei tipi (](https://docs.aws.amazon.com/appsync/latest/devguide/js-resolver-reference-dynamodb.html#js-aws-appsync-resolver-reference-dynamodb-typed-values-responses)mappatura delle risposte).

[Per ulteriori informazioni sui JavaScript resolver, consulta la panoramica dei resolver. JavaScript ](https://docs.aws.amazon.com/appsync/latest/devguide/resolver-reference-overview-js.html)

## Esempio 1
<a name="js-id6"></a>

L'esempio seguente è un gestore di richieste di funzioni per una mutazione `deleteItem(id: ID!)` GraphQL. 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
<a name="js-id7"></a>

L'esempio seguente è un gestore di richieste di funzioni per una mutazione `deleteItem(id: ID!, expectedVersion: Int!)` GraphQL. 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](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_DeleteItem.html).