

# Criar operações complexas
<a name="workbench.querybuilder.operationbuilder"></a>

O criador de operações no NoSQL Workbench para Amazon DynamoDB oferece uma interface visual na qual você pode executar operações de plano de dados complexas. Ele inclui suporte para expressões de projeção e de condição. Depois de criar uma operação, você pode salvá-la para uso posterior (até 50 operações podem ser salvas). Em seguida, você pode procurar uma lista de suas operações de plano de dados usadas com frequência no menu **Saved Operations** (Operações salvas) e usá-los para preencher e criar automaticamente uma nova operação. Você também pode optar por gerar código de exemplo para essas operações, em várias linguagens.

O NoSQL Workbench é compatível com a criação de instruções [PartiQL](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ql-reference.html) para DynamoDB, o que permite interagir com o DynamoDB usando uma linguagem de consultas compatível com SQL. O NoSQL Workbench também é compatível com a criação de operações de API CRUD do DynamoDB.

Para usar o NoSQL Workbench para criar operações, no painel de navegação no lado esquerdo, escolha o ícone **Operation builder** (Criador de operações).

**Topics**
+ [Criar instruções em PartiQL](workbench.querybuilder.partiql.md)
+ [Criar operações de API](workbench.querybuilder.operationbuilder.api.md)

# Criar instruções em PartiQL
<a name="workbench.querybuilder.partiql"></a>

Para usar o NoSQL Workbench para criar declarações do [PartiQL para DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ql-reference.html), selecione **Editor PartiQL** no canto superior da interface de usuário do NoSQL Workbench.

É possível criar os tipos de instrução PartiQL a seguir no criador de operações.

**Topics**
+ [Instruções em Singleton](#workbench.querybuilder.partiql.single)
+ [Transações](#workbench.querybuilder.partiql.transaction)
+ [Batch](#workbench.querybuilder.partiql.batch)

## Instruções em Singleton
<a name="workbench.querybuilder.partiql.single"></a>

Para executar ou gerar código para uma instrução PartiQL, faça o seguinte:

1. Selecione **Editor PartiQL** próximo à parte superior da janela.

1. Insira uma [PartiQL statement](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ql-reference.statements.html) (Instrução PartiQL) válida.

1. Se a sua instrução usar parâmetros:

   1. Escolha **Optional request parameters** (Parâmetros de solicitação opcionais).

   1. Escolha **Add new parameters** (Adicionar novos parâmetros).

   1. Insira o tipo e o valor do atributo.

   1. Para adicionar parâmetros extras, repita as etapas b e c.

1. Se desejar gerar código, escolha **Generate code** (Gerar código).

   Selecione a linguagem desejada nas guias exibidas. Agora você pode copiar esse código e usá-lo na sua aplicação.

1. Se desejar que a operação seja executada imediatamente, escolha **Run** (Executar).

1. Se desejar salvar esta operação para uso posterior, escolha **Save operation** (Salvar operação). Depois, insira um nome para sua operação e escolha **Save** (Salvar).

## Transações
<a name="workbench.querybuilder.partiql.transaction"></a>

Para executar ou gerar código para uma transação do PartiQL, faça o seguinte:

1. Selecione **PartiQLTransaction** no menu suspenso **Mais operações**.

1. Escolha **Add a new statement** (Adicionar uma nova instrução).

1. Insira uma [PartiQL statement](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ql-reference.statements.html) (Instrução PartiQL) válida.
**nota**  
Não há suporte a operações de leitura e gravação na mesma solicitação de transação PartiQL. Uma instrução SELECT não pode estar presente na mesma solicitação que instruções INSERT, UPDATE e DELETE. Consulte [Executar transações com PartiQL para DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ql-reference.multiplestatements.transactions.html) para obter mais detalhes.

1. Se a sua instrução usar parâmetros

   1. Escolha **Optional request parameters** (Parâmetros de solicitação opcionais).

   1. Escolha **Add new parameters** (Adicionar novos parâmetros).

   1. Insira o tipo e o valor do atributo.

   1. Para adicionar parâmetros extras, repita as etapas b e c.

1. Para adicionar mais instruções, repita as etapas 2 a 4.

1. Se desejar gerar código, escolha **Generate code** (Gerar código).

   Selecione a linguagem desejada nas guias exibidas. Agora você pode copiar esse código e usá-lo na sua aplicação.

1. Se desejar que a operação seja executada imediatamente, escolha **Run** (Executar).

1. Se desejar salvar esta operação para uso posterior, escolha **Save operation** (Salvar operação). Depois, insira um nome para sua operação e escolha **Save** (Salvar).

## Batch
<a name="workbench.querybuilder.partiql.batch"></a>

Para executar ou gerar código para um lote de PartiQL, faça o seguinte:

1. Selecione **PartiQLBatch** no menu suspenso **Mais operações**.

1. Escolha **Add a new statement** (Adicionar uma nova instrução).

1. Insira uma [PartiQL statement](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ql-reference.statements.html) (Instrução PartiQL) válida.
**nota**  
 Não há suporte a operações de leitura e gravação na mesma solicitação de lote de PartiQL, o que significa que uma instrução SELECT não pode estar na mesma solicitação que instruções INSERT, UPDATE e DELETE. Operações de gravação no mesmo item não são permitidas. Assim como na operação BatchGetItem, apenas operações de leitura singleton são aceitas. Operações de verificação e consulta não são aceitas. Consulte [Executar operações em lote com PartiQL para DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ql-reference.multiplestatements.batching.html) para obter mais detalhes.

1. Se a sua instrução usar parâmetros:

   1. Escolha **Optional request parameters** (Parâmetros de solicitação opcionais).

   1. Escolha **Add new parameters** (Adicionar novos parâmetros).

   1. Insira o tipo e o valor do atributo.

   1. Para adicionar parâmetros extras, repita as etapas b e c.

1. Para adicionar mais instruções, repita as etapas 2 a 4.

1. Se desejar gerar código, escolha **Generate code** (Gerar código).

   Selecione a linguagem desejada nas guias exibidas. Agora você pode copiar esse código e usá-lo na sua aplicação.

1. Se desejar que a operação seja executada imediatamente, escolha **Run** (Executar).

1. Se desejar salvar esta operação para uso posterior, escolha **Save operation** (Salvar operação). Depois, insira um nome para sua operação e escolha **Save** (Salvar).

# Criar operações de API
<a name="workbench.querybuilder.operationbuilder.api"></a>

Para usar o NoSQL Workbench para criar APIs CRUD do DynamoDB, selecione **Criador de operações** à esquerda da interface de usuário do NoSQL Workbench.

Depois, selecione **Abrir** e escolha uma conexão.

Você pode executar as operações a seguir no criador de operações.
+ [Excluir tabela](#workbench.querybuilder.operationbuilder.DeleteTable)
+ [Criar tabela](#workbench.querybuilder.operationbuilder.CreateTable)
+ [Atualizar tabela](#workbench.querybuilder.operationbuilder.UpdateTable)
+ [Colocar item](#workbench.querybuilder.operationbuilder.Put)
+ [Atualizar item](#workbench.querybuilder.operationbuilder.update)
+ [Excluir item](#workbench.querybuilder.operationbuilder.Delete)
+ [Query](#workbench.querybuilder.operationbuilder.Query)
+ [Verificar](#workbench.querybuilder.operationbuilder.scan)
+ [Transação Obter itens](#workbench.querybuilder.operationbuilder.transactget)
+ [Transação Gravar itens](#workbench.querybuilder.operationbuilder.transactwrite)

## Excluir tabela
<a name="workbench.querybuilder.operationbuilder.DeleteTable"></a>

Para executar uma operação `Delete Table`, faça o seguinte:

1. Encontre a tabela que você deseja excluir na seção **Tabelas**.

1. Selecione **Excluir tabela** no menu de reticências horizontais.

1. Confirme se você deseja excluir a tabela inserindo o **Nome da tabela**.

1. Selecione **Excluir**.

Para obter mais informações essa operação, consulte [Delete table](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_DeleteTable.html) (Excluir tabela) na *Amazon DynamoDB API Reference* (Referência da API do Amazon DynamoDB). 

## Excluir o GSI
<a name="workbench.querybuilder.operationbuilder.DeleteGSI"></a>

Para executar uma operação `Delete GSI`, faça o seguinte:

1. Encontre o GSI de uma tabela que você deseja excluir na seção **Tabelas**.

1. Selecione **Excluir GSI** no menu de reticências horizontal.

1. Confirme se você deseja excluir o GSI inserindo o **Nome do GSI**.

1. Selecione **Excluir**.

Para obter mais informações essa operação, consulte [Delete table](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_DeleteTable.html) (Excluir tabela) na *Amazon DynamoDB API Reference* (Referência da API do Amazon DynamoDB). 

## Create table
<a name="workbench.querybuilder.operationbuilder.CreateTable"></a>

Para executar uma operação `Create Table`, faça o seguinte:

1. Selecione o ícone **\$1** ao lado da seção **Tabelas**.

1. Insira o nome da tabela desejado.

1. Crie uma chave de partição.

1. Opcional: crie uma chave de classificação.

1. Para personalizar as configurações de capacidade, desmarque a caixa ao lado de **Usar configurações de capacidade padrão**.
   + Agora é possível selecionar **Provisioned** (Provisionada) ou **On-demand capacity** (Capacidade sob demanda).

     Com a opção Provisionada selecionada, você pode definir unidades de capacidade mínima e máxima de leitura e gravação. Você também pode habilitar ou desabilitar a escalabilidade automática.
   + Se, no momento, a tabela estiver definida como sob demanda, você não poderá especificar um throughput provisionado.
   + Se você mudar de sob demanda para throughput provisionado, o ajuste de escala automático será aplicado automaticamente a todos os GSIs com: mín.: 1, máx.: 10; meta: 70%.

1. Selecione **Ignorar GSIs e criar** para criar essa tabela sem um GSI. Você também pode selecionar **Próximo** para criar um GSI com essa nova tabela.

Para obter mais informações sobre essa operação, consulte [Create table](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_CreateTable.html) (Criar tabela) na *Amazon DynamoDB API Reference* (Referência da API do Amazon DynamoDB). 

## Criar o GSI
<a name="workbench.querybuilder.operationbuilder.CreateGSI"></a>

Para executar uma operação `Create GSI`, faça o seguinte:

1. Encontre uma tabela à qual você deseja adicionar um GSI.

1. No menu de reticências horizontal, selecione **Criar GSI**.

1. Nomeie o GSI em **Nome do índice**.

1. Crie uma chave de partição.

1. Opcional: crie uma chave de classificação.

1. Selecione uma opção de tipo de projeção no menu suspenso.

1. Selecione **Criar GSI**.

Para obter mais informações sobre essa operação, consulte [Create table](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_CreateTable.html) (Criar tabela) na *Amazon DynamoDB API Reference* (Referência da API do Amazon DynamoDB). 

## Atualizar tabela
<a name="workbench.querybuilder.operationbuilder.UpdateTable"></a>

Para atualizar as configurações de capacidade de uma tabela com uma operação `Update Table`, faça o seguinte:

1. Encontre a tabela para a qual você deseja atualizar as configurações de capacidade.

1. No menu de reticências horizontal, selecione **Atualizar configurações de capacidade**.

1. Selecione **Provisionada** ou **Capacidade sob demanda**.

   Com a opção **Provisionada** selecionada, você pode definir unidades de capacidade mínima e máxima de leitura e gravação. Você também pode habilitar ou desabilitar a escalabilidade automática.

1. Selecione **Atualizar**.

Para obter mais informações sobre essa operação, consulte [Atualizar tabela](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_UpdateTable.html) na *Amazon DynamoDB API Reference* (Referência da API do Amazon DynamoDB).

## Atualizar o GSI
<a name="workbench.querybuilder.operationbuilder.UpdateGSI"></a>

Para atualizar as configurações de capacidade de um GSI com uma operação `Update Table`, faça o seguinte:

**nota**  
Por padrão, os índices secundários globais herdam as configurações de capacidade da tabela de base. Os índices secundários globais podem ter um modo de capacidade diferente somente quando a tabela básica está no modo de capacidade provisionada. Ao criar um índice secundário global em uma tabela de modo provisionado, você deve especificar unidades de capacidade de leitura e gravação para a workload esperada no índice. Para obter mais informações, consulte [Considerações sobre throughput provisionado para índices secundários globais](GSI.md#GSI.ThroughputConsiderations).

1. Encontre o GSI cujas configurações de capacidade você deseja atualizar.

1. No menu de reticências horizontal, selecione **Atualizar configurações de capacidade**.

1. Agora é possível selecionar **Provisioned** (Provisionada) ou **On-demand capacity** (Capacidade sob demanda).

   Com a opção **Provisionada** selecionada, você pode definir unidades de capacidade mínima e máxima de leitura e gravação. Você também pode habilitar ou desabilitar a escalabilidade automática.

1. Selecione **Atualizar**.

Para obter mais informações sobre essa operação, consulte [Atualizar tabela](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_UpdateTable.html) na *Amazon DynamoDB API Reference* (Referência da API do Amazon DynamoDB).

## Colocar item
<a name="workbench.querybuilder.operationbuilder.Put"></a>

Você pode criar um item usando a operação `Put Item`. Para executar ou gerar código para uma operação `Put Item`, faça o seguinte:

1. Encontre a tabela na qual você deseja criar um item.

1. No menu suspenso **Ações**, selecione **Criar item**.

1. Insira o valor da chave de partição.

1. Insira o valor da chave de classificação, se houver.

1. Se desejar adicionar atributos que não sejam de chave, faça o seguinte:

   1. Selecione **\$1 Adicionar outros atributos**.

   1. Especifique o **Attribute name** (Nome do atributo), o **Type** (Tipo) e o **Value** (Valor). 

1. Se for necessário cumprir a expressão de condição para que a operação `Put Item` tenha êxito, faça o seguinte:

   1. Escolha **Condition** (Condição).

   1. Especifique o nome do atributo, o operador de comparação, o tipo de atributo e o valor do atributo.

   1. Se outras condições forem necessárias, escolha **Condition** (Condição) novamente.

   Para obter mais informações, consulte [Exemplo de expressão de condição do DynamoDB na CLI](Expressions.ConditionExpressions.md).

1. Se desejar gerar código, escolha **Generate code** (Gerar código).

   Selecione a linguagem desejada nas guias exibidas. Agora você pode copiar esse código e usá-lo na sua aplicação.

1. Se desejar que a operação seja executada imediatamente, escolha **Run** (Executar).

1. Se desejar salvar esta operação para uso posterior, escolha **Save operation** (Salvar operação). Em seguida, insira um nome para a operação e clique em **Save** (Salvar).

Para obter mais informações sobre essa operação, consulte [PutItem](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_PutItem.html) na *Referência da API do Amazon DynamoDB*. 

## Atualizar item
<a name="workbench.querybuilder.operationbuilder.update"></a>

Para executar ou gerar código para uma operação `Update Item`, faça o seguinte:

1. Encontre a tabela na qual você deseja atualizar um item.

1. Selecione o item.

1. Insira o nome e o valor do atributo para a expressão selecionada.

1. Se desejar adicionar mais expressões, escolha outra expressão na lista suspensa **Atualizar expressão** e selecione o ícone **\$1**.

1. Se for necessário cumprir a expressão de condição para que a operação `Update Item` tenha êxito, faça o seguinte:

   1. Escolha **Condition** (Condição).

   1. Especifique o nome do atributo, o operador de comparação, o tipo de atributo e o valor do atributo.

   1. Se outras condições forem necessárias, escolha **Condition** (Condição) novamente.

   Para obter mais informações, consulte [Exemplo de expressão de condição do DynamoDB na CLI](Expressions.ConditionExpressions.md).

1. Se desejar gerar código, escolha **Generate code** (Gerar código).

   Escolha a guia da linguagem desejada. Agora você pode copiar esse código e usá-lo na sua aplicação.

1. Se desejar que a operação seja executada imediatamente, escolha **Run** (Executar).

1. Se desejar salvar esta operação para uso posterior, escolha **Save operation** (Salvar operação). Em seguida, insira um nome para a operação e clique em **Save** (Salvar).

Para obter mais informações sobre essa operação, consulte [UpdateItem](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_UpdateItem.html) na *Referência da API do Amazon DynamoDB*. 

## Excluir item
<a name="workbench.querybuilder.operationbuilder.Delete"></a>

Para executar uma operação `Delete Item`, faça o seguinte:

1. Encontre a tabela na qual você deseja excluir um item. 

1. Selecione o item.

1. No menu suspenso **Ações**, selecione **Excluir item**.

1. Confirme se você deseja excluir o item selecionando **Excluir**.

Para obter mais informações sobre essa operação, consulte [DeleteItem](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_DeleteItem.html) na *Referência da API do Amazon DynamoDB*.

## Duplicar item
<a name="workbench.querybuilder.operationbuilder.Duplicate"></a>

É possível duplicar um item criando um item com os mesmos atributos. Para duplicar um item, faça o seguinte:

1. Encontre a tabela na qual você deseja duplicar um item.

1. Selecione o item.

1. No menu suspenso **Ações**, selecione **Duplicar item**.

1. Especifique uma nova chave de partição.

1. Especifique uma nova chave de classificação (se necessário).

1. Selecione **Executar**.

Para obter mais informações sobre essa operação, consulte [DeleteItem](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_DeleteItem.html) na *Referência da API do Amazon DynamoDB*.

## Consulta
<a name="workbench.querybuilder.operationbuilder.Query"></a>

Para executar ou gerar código para uma operação `Query`, faça o seguinte:

1. Selecione **Consultar** na parte superior da interface de usuário do NoSQL Workbench.

1. Especifique o valor da chave de partição.

1. Se uma chave de classificação for necessária para a operação `Query`:

   1. Selecione **Sort key** (Chave de classificação).

   1. Especifique o operador de comparação e o valor do atributo.

1. Selecione **Consultar** para realizar essa operação de consulta. Se forem necessárias mais opções, marque a caixa de seleção **Mais opções** e continue com as etapas a seguir.

1. Se nem todos os atributos precisarem ser retornados com o resultado da operação, selecione **Projection expression** (Expressão de projeção).

1. Escolha o ícone **\$1**.

1. Insira o atributo a ser retornado com o resultado da consulta.

1. Se mais atributos forem necessários, escolha o **\$1 **.

1. Se for necessário cumprir a expressão de condição para que a operação `Query` tenha êxito, faça o seguinte:

   1. Escolha **Condition** (Condição).

   1. Especifique o nome do atributo, o operador de comparação, o tipo de atributo e o valor do atributo.

   1. Se outras condições forem necessárias, escolha **Condition** (Condição) novamente.

   Para obter mais informações, consulte [Exemplo de expressão de condição do DynamoDB na CLI](Expressions.ConditionExpressions.md).

1. Se desejar gerar código, escolha **Generate code** (Gerar código).

   Escolha a guia da linguagem desejada. Agora você pode copiar esse código e usá-lo na sua aplicação.

1. Se desejar que a operação seja executada imediatamente, escolha **Run** (Executar).

1. Se desejar salvar esta operação para uso posterior, escolha **Save operation** (Salvar operação). Em seguida, insira um nome para a operação e clique em **Save** (Salvar).

Para obter mais informações sobre essa operação, consulte [Query](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_Query.html) na *Referência da API do Amazon DynamoDB*. 

## Verificar
<a name="workbench.querybuilder.operationbuilder.scan"></a>

Para executar ou gerar código para uma operação `Scan`, faça o seguinte:

1. Selecione **Verificar** na parte superior da interface de usuário do NoSQL Workbench.

1. Selecione o botão **Verificar** para realizar essa operação básica de verificação. Se forem necessárias mais opções, marque a caixa de seleção **Mais opções** e continue com as etapas a seguir.

1. Especifique um nome de atributo para filtrar os resultados da verificação.

1. Se nem todos os atributos precisarem ser retornados com o resultado da operação, selecione **Projection expression** (Expressão de projeção).

1. Se a expressão de condição precisar ser satisfeita para a operação scan ser bem-sucedida, faça o seguinte:

   1. Escolha **Condition** (Condição).

   1. Especifique o nome do atributo, o operador de comparação, o tipo de atributo e o valor do atributo.

   1. Se outras condições forem necessárias, escolha **Condition** (Condição) novamente. 

   Para obter mais informações, consulte [Exemplo de expressão de condição do DynamoDB na CLI](Expressions.ConditionExpressions.md).

1. Se desejar gerar código, escolha **Generate code** (Gerar código).

   Escolha a guia da linguagem desejada. Agora você pode copiar esse código e usá-lo na sua aplicação.

1. Se desejar que a operação seja executada imediatamente, escolha **Run** (Executar).

1. Se desejar salvar esta operação para uso posterior, escolha **Save operation** (Salvar operação). Em seguida, insira um nome para a operação e clique em **Save** (Salvar).

## TransactGetItems
<a name="workbench.querybuilder.operationbuilder.transactget"></a>

Para executar ou gerar código para uma operação `TransactGetItems`, faça o seguinte:

1. No menu suspenso **Mais operações** na parte superior da interface de usuário do NoSQL Workbench, selecione **TransactGetItems**.

1. Selecione o ícone **\$1** ao lado de **TransactGetItem**.

1. Especifique uma chave de partição.

1. Especifique uma chave de classificação (se necessário).

1. Selecione **Executar** para realizar a operação, **Salvar operação** para salvá-la ou **Gerar código** para gerar código para ela.

Para obter mais informações, consulte [Amazon DynamoDB Transactions](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/transactions.html).

## TransactWriteItems
<a name="workbench.querybuilder.operationbuilder.transactwrite"></a>

Para executar ou gerar código para uma operação `TransactWriteItems`, faça o seguinte:

1. No menu suspenso **Mais operações** na parte superior da interface de usuário do NoSQL Workbench, selecione **TransactWriteItems**.

1. Selecione uma operação no menu suspenso **Ações**.

1. Selecione o ícone **\$1** ao lado de **TransactWriteItem**.

1. Na lista suspensa **Ações**, selecione a operação desejada.
   + Para `DeleteItem`, siga as instruções para a operação [Excluir item](#workbench.querybuilder.operationbuilder.Delete). 
   + Para `PutItem`, siga as instruções para a operação [Colocar item](#workbench.querybuilder.operationbuilder.Put). 
   + Para `UpdateItem`, siga as instruções para a operação [Atualizar item](#workbench.querybuilder.operationbuilder.update).

   Para alterar a ordem das ações, escolha uma ação na lista à esquerda e selecione as setas para cima ou para baixo para movê-la para cima ou para baixo na lista. 

   Para excluir uma ação, escolha a ação na lista e selecione o ícone **Delete** (Excluir) (lixeira). 

1. Selecione **Executar** para realizar a operação, **Salvar operação** para salvá-la ou **Gerar código** para gerar código para ela.

Para obter mais informações, consulte [Amazon DynamoDB Transactions](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/transactions.html).