

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

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

A `DeleteItem` solicitação permite que você instrua a função do AWS AppSync DynamoDB a fazer uma `DeleteItem` solicitação ao DynamoDB e permite que você especifique o seguinte:
+ A chave do item no DynamoDB
+ Condições para que a operação seja bem-sucedida

A solicitação `DeleteItem` tem a seguinte estrutura:

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

Os campos são definidos da seguinte forma:

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

### DeleteItem lista de campos
<a name="js-deleteitem-list-col"></a>

** `operation` **  
A operação do DynamoDB para execução. Para executar a operação `DeleteItem` do DynamoDB, ela deve ser definida como `DeleteItem`. Este valor é obrigatório.

** `key` **  
A chave do item no DynamoDB. Os itens do DynamoDB podem ter uma única chave de hash ou uma chave de hash e uma chave de classificação, dependendo da estrutura da tabela. Para obter mais informações sobre como especificar um "valor digitado", consulte [Sistema de tipo (mapeamento da solicitação)](https://docs.aws.amazon.com/appsync/latest/devguide/js-resolver-reference-dynamodb.html#js-aws-appsync-resolver-reference-dynamodb-typed-values-request). Este valor é obrigatório.

** `condition` **  
Uma condição para determinar se a solicitação deve ser bem-sucedida ou não, com base no estado do objeto que já está no DynamoDB. Se nenhuma condição for especificada, a solicitação `DeleteItem` excluirá um item independentemente do estado atual. Para obter mais informações sobre as condições, consulte [Expressões de condição](https://docs.aws.amazon.com/appsync/latest/devguide/js-resolver-reference-dynamodb.html#js-aws-appsync-resolver-reference-dynamodb-condition-expressions). Este valor é opcional.

** `_version` **  
Um valor numérico que representa a versão conhecida mais recente de um item. Este valor é opcional. Esse campo é usado para *Detecção de conflitos* e só é compatível com fontes de dados versionadas.

**`customPartitionKey`**  
Quando ativado, esse valor de string modifica o formato dos `ds_pk` registros `ds_sk` e usados pela tabela de sincronização delta quando o controle de versão é ativado (para obter mais informações, consulte [Detecção e sincronização de conflitos no Guia](https://docs.aws.amazon.com/appsync/latest/devguide/conflict-detection-and-sync.html) do *AWS AppSync desenvolvedor*). Quando ativado, o processamento da entrada `populateIndexFields` também é ativado. Esse campo é opcional.

**`populateIndexFields`**  
Um valor booleano que, quando ativado **com `customPartitionKey`**, cria novas entradas para cada registro na tabela de sincronização delta, especificamente nas colunas `gsi_ds_pk` e `gsi_ds_sk`. Para obter mais informações, consulte [Detecção e sincronização de conflitos](https://docs.aws.amazon.com/appsync/latest/devguide/conflict-detection-and-sync.html) no *Guia do desenvolvedor do AWS AppSync *. Esse campo é opcional. 

O item excluído do DynamoDB é automaticamente convertido nos tipos primitivos GraphQL e JSON e está disponível no resultado do contexto (`context.result`).

Para obter mais informações sobre a conversão de tipo do DynamoDB, consulte [Sistema de tipo (mapeamento da resposta)](https://docs.aws.amazon.com/appsync/latest/devguide/js-resolver-reference-dynamodb.html#js-aws-appsync-resolver-reference-dynamodb-typed-values-responses).

Para obter mais informações sobre JavaScript resolvedores, consulte a visão geral dos [JavaScript resolvedores](https://docs.aws.amazon.com/appsync/latest/devguide/resolver-reference-overview-js.html).

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

O exemplo a seguir é um manipulador de solicitação de função para uma mutação GraphQL `deleteItem(id: ID!)`: Se existir um item com esse ID, ele será excluído.

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

## Exemplo 2
<a name="js-id7"></a>

O exemplo a seguir é um manipulador de solicitação de função para uma mutação GraphQL `deleteItem(id: ID!, expectedVersion: Int!)`: Se existir um item com esse ID, ele será excluído, mas apenas se o campo `version` estiver definido como `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),
  };
}
```

Para obter mais informações sobre a API `DeleteItem` do DynamoDB, consulte a [Documentação da API do DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_DeleteItem.html).