

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á.

# Acessar o Amazon QLDB
<a name="accessing"></a>

**Importante**  
Aviso de fim do suporte: os clientes existentes poderão usar o Amazon QLDB até o final do suporte em 31/07/2025. Para obter mais detalhes, consulte [Migrar um Amazon QLDB Ledger para o Amazon](https://aws.amazon.com/blogs/database/migrate-an-amazon-qldb-ledger-to-amazon-aurora-postgresql/) Aurora PostgreSQL.

Você pode acessar o Amazon QLDB usando Console de gerenciamento da AWS a API, AWS Command Line Interface the AWS CLI() ou QLDB. As seções a seguir descrevem como usar essas opções e os pré-requisitos para usá-las.

## Pré-requisitos
<a name="accessing.prereqs"></a>

Antes de acessar o QLDB, você deve configurar Conta da AWS um, caso ainda não tenha feito isso.

**Topics**
+ [Inscreva-se para um Conta da AWS](#sign-up-for-aws)
+ [Criar um usuário com acesso administrativo](#create-an-admin)
+ [Gerencie as permissões do QLDB no IAM](#accessing.prereqs.permissions)
+ [Conceder acesso programático (opcional)](#grant-programmatic-access)

### Inscreva-se para um Conta da AWS
<a name="sign-up-for-aws"></a>

Se você não tiver um Conta da AWS, conclua as etapas a seguir para criar um.

**Para se inscrever em um Conta da AWS**

1. Abra a [https://portal.aws.amazon.com/billing/inscrição.](https://portal.aws.amazon.com/billing/signup)

1. Siga as instruções online.

   Parte do procedimento de inscrição envolve receber uma chamada telefônica ou uma mensagem de texto e inserir um código de verificação pelo teclado do telefone.

   Quando você se inscreve em um Conta da AWS, um *Usuário raiz da conta da AWS*é criado. O usuário-raiz tem acesso a todos os Serviços da AWS e recursos na conta. Como prática recomendada de segurança, atribua o acesso administrativo a um usuário e use somente o usuário-raiz para executar [tarefas que exigem acesso de usuário-raiz](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html#root-user-tasks).

AWS envia um e-mail de confirmação após a conclusão do processo de inscrição. A qualquer momento, você pode visualizar a atividade atual da sua conta e gerenciar sua conta acessando [https://aws.amazon.com/e](https://aws.amazon.com/) escolhendo **Minha conta**.

### Criar um usuário com acesso administrativo
<a name="create-an-admin"></a>

Depois de se inscrever em um Conta da AWS, proteja seu Usuário raiz da conta da AWS Centro de Identidade do AWS IAM, habilite e crie um usuário administrativo para que você não use o usuário root nas tarefas diárias.

**Proteja seu Usuário raiz da conta da AWS**

1.  Faça login [Console de gerenciamento da AWS](https://console.aws.amazon.com/)como proprietário da conta escolhendo **Usuário raiz** e inserindo seu endereço de Conta da AWS e-mail. Na próxima página, insira a senha.

   Para obter ajuda ao fazer login usando o usuário-raiz, consulte [Fazer login como usuário-raiz](https://docs.aws.amazon.com/signin/latest/userguide/console-sign-in-tutorials.html#introduction-to-root-user-sign-in-tutorial) no *Guia do usuário do Início de Sessão da AWS *.

1. Habilite a autenticação multifator (MFA) para o usuário-raiz.

   Para obter instruções, consulte [Habilitar um dispositivo de MFA virtual para seu usuário Conta da AWS raiz (console) no Guia](https://docs.aws.amazon.com/IAM/latest/UserGuide/enable-virt-mfa-for-root.html) do *usuário do IAM*.

**Criar um usuário com acesso administrativo**

1. Habilita o Centro de Identidade do IAM.

   Para obter instruções, consulte [Habilitar o Centro de Identidade do AWS IAM](https://docs.aws.amazon.com/singlesignon/latest/userguide/get-set-up-for-idc.html) no *Guia do usuário do Centro de Identidade do AWS IAM *.

1. No Centro de Identidade do IAM, conceda o acesso administrativo a um usuário.

   Para ver um tutorial sobre como usar o Diretório do Centro de Identidade do IAM como fonte de identidade, consulte [Configurar o acesso do usuário com o padrão Diretório do Centro de Identidade do IAM](https://docs.aws.amazon.com/singlesignon/latest/userguide/quick-start-default-idc.html) no *Guia Centro de Identidade do AWS IAM do usuário*.

**Iniciar sessão como o usuário com acesso administrativo**
+ Para fazer login com o seu usuário do Centro de Identidade do IAM, use o URL de login enviado ao seu endereço de e-mail quando o usuário do Centro de Identidade do IAM foi criado.

  Para obter ajuda para fazer login usando um usuário do IAM Identity Center, consulte Como [fazer login no portal de AWS acesso](https://docs.aws.amazon.com/signin/latest/userguide/iam-id-center-sign-in-tutorial.html) no *Guia Início de Sessão da AWS do usuário*.

**Atribuir acesso a usuários adicionais**

1. No Centro de Identidade do IAM, crie um conjunto de permissões que siga as práticas recomendadas de aplicação de permissões com privilégio mínimo.

   Para obter instruções, consulte [Criar um conjunto de permissões](https://docs.aws.amazon.com/singlesignon/latest/userguide/get-started-create-a-permission-set.html) no *Guia do usuário do Centro de Identidade do AWS IAM *.

1. Atribua usuários a um grupo e, em seguida, atribua o acesso de autenticação única ao grupo.

   Para obter instruções, consulte [Adicionar grupos](https://docs.aws.amazon.com/singlesignon/latest/userguide/addgroups.html) no *Guia do usuário do Centro de Identidade do AWS IAM *.

### Gerencie as permissões do QLDB no IAM
<a name="accessing.prereqs.permissions"></a>

Para obter informações sobre o uso do AWS Identity and Access Management (IAM) para gerenciar permissões de QLDB para usuários, consulte. [Como o Amazon QLDB funciona com o IAM](security_iam_service-with-iam.md)

### Conceder acesso programático (opcional)
<a name="grant-programmatic-access"></a>

Os usuários precisam de acesso programático se quiserem interagir com pessoas AWS fora do Console de gerenciamento da AWS. A forma de conceder acesso programático depende do tipo de usuário que está acessando AWS.

Para conceder acesso programático aos usuários, selecione uma das seguintes opções:


****  

| Qual usuário precisa de acesso programático? | Para | Por | 
| --- | --- | --- | 
|  Identidade da força de trabalho (Usuários gerenciados no Centro de Identidade do IAM)  | Use credenciais temporárias para assinar solicitações programáticas para o AWS CLI AWS SDKs, ou. AWS APIs |  Siga as instruções da interface que deseja utilizar. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/qldb/latest/developerguide/accessing.html)  | 
| IAM | Use credenciais temporárias para assinar solicitações programáticas para o AWS CLI AWS SDKs, ou. AWS APIs | Siga as instruções em [Como usar credenciais temporárias com AWS recursos](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_use-resources.html) no Guia do usuário do IAM. | 
| IAM | (Não recomendado)Use credenciais de longo prazo para assinar solicitações programáticas para o AWS CLI, AWS SDKs, ou. AWS APIs |  Siga as instruções da interface que deseja utilizar. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/qldb/latest/developerguide/accessing.html)  | 

## Como acessar o Amazon QLDB
<a name="accessing.how-to"></a>

Depois de concluir os pré-requisitos para configurar um Conta da AWS, consulte os tópicos a seguir para saber mais sobre como acessar o QLDB: 
+ [Utilizar o console](console_QLDB.md)
+ [Usando a AWS CLI (somente API de gerenciamento)](Tools.CLI.md)
+ [Usar o shell do Amazon QLDB (somente API de dados)](data-shell.md)
+ [Uso da API](Using.API.md)

# Acessar o Amazon QLDB usando o console
<a name="console_QLDB"></a>

**Importante**  
Aviso de fim do suporte: os clientes existentes poderão usar o Amazon QLDB até o final do suporte em 31/07/2025. Para obter mais detalhes, consulte [Migrar um Amazon QLDB Ledger para o Amazon](https://aws.amazon.com/blogs/database/migrate-an-amazon-qldb-ledger-to-amazon-aurora-postgresql/) Aurora PostgreSQL.

[Você pode acessar o Console de gerenciamento da AWS para Amazon QLDB em https://console.aws.amazon.com /qldb.](https://console.aws.amazon.com/qldb)

Você pode usar o console para fazer o seguinte no QLDB:
+ Criar, excluir, descrever e listar ledgers.
+ Execute instruções [partiQL](ql-reference.md) usando o *editor partiQL*.
+ Gerencie tags para recursos do QLDB.
+ Verifique os dados do diário criptograficamente.
+ Exporte ou transmita blocos de diários.

Para saber como criar um livro contábil do Amazon QLDB e configurá-lo com exemplos de dados do aplicativo, consulte [Conceitos básicos do console do Amazon QLDB](getting-started.md). 

## Referência rápida do editor PartiQL
<a name="partiql-editor-reference"></a>

**Importante**  
Aviso de fim do suporte: os clientes existentes poderão usar o Amazon QLDB até o final do suporte em 31/07/2025. Para obter mais detalhes, consulte [Migrar um Amazon QLDB Ledger para o Amazon](https://aws.amazon.com/blogs/database/migrate-an-amazon-qldb-ledger-to-amazon-aurora-postgresql/) Aurora PostgreSQL.

O Amazon QLDB oferece suporte a um subconjunto do [PartiQL](https://partiql.org/) como linguagem de consulta e ao [Amazon](http://amzn.github.io/ion-docs/) Ion como formato de dados orientado a documentos. Para obter um guia completo e informações mais detalhadas sobre a implementação do PartiQL no QLDB, consulte o [Amazon QLDB PartiQL Reference](ql-reference.md).

Os tópicos a seguir fornecem uma visão geral rápida de como usar o PartiQL no QLDB.

**Topics**
+ [Dicas rápidas do PartiQL no QLDB](#partiql-editor-ref-tips)
+ [Comandos](#partiql-editor-ref-commands)
+ [Visualizações definidas pelo sistema.](#partiql-editor-ref-views)
+ [Regras de sintaxe básica](#partiql-editor-ref-syntax)
+ [Atalhos de teclado do editor PartiQL](#console_QLDB.partiql-editor-shortcuts)

### Dicas rápidas do PartiQL no QLDB
<a name="partiql-editor-ref-tips"></a>

A seguir está um breve resumo das dicas e das melhores práticas para trabalhar com o PartiQL no QLDB:
+ **Entenda os limites de simultaneidade e transação**: todas as instruções, incluindo consultas `SELECT`, estão sujeitas a conflitos [controle de simultaneidade otimista (OCC)](concurrency.md) e [limites de transação](limits.md#limits.fixed), incluindo um tempo limite de transação de 30 segundos.
+ **Use índices**: use índices de alta cardinalidade e execute consultas direcionadas para otimizar suas declarações e evitar a varredura completa da tabela. Para saber mais, consulte [Otimizar a performance da consulta](working.optimize.md).
+ **Use predicados de igualdade**: as pesquisas indexadas exigem um operador de *igualdade* (`=` ou `IN`). Operadores de desigualdade (`<`, `>`, `LIKE`, `BETWEEN`) não se qualificam para pesquisas indexadas e resultam em verificações de tabela completa.
+ **Use somente junções internas**: o QLDB suporta somente junções internas. Como prática recomendada, junte em campos indexados para cada tabela que você está unindo. Escolha índices de alta cardinalidade para os critérios de junção e os predicados de igualdade.

### Comandos
<a name="partiql-editor-ref-commands"></a>

O QLDB oferece suporte aos comandos PartiQL a seguir.


**Linguagem de definição de dados (DDL)**  

| Command | Descrição | 
| --- | --- | 
| [CREATE INDEX](ql-reference.create-index.md) | Cria um índice para um campo de documento de nível superior em uma tabela. | 
| [CRIAR TABELA](ql-reference.create-table.md) | Cria uma tabela do . | 
| [DROP INDEX](ql-reference.drop-index.md) | Exclua um índice de uma tabela. | 
| [DESCARTAR TABELA](ql-reference.drop-table.md) | Desativa uma tabela existente. | 
| [UNDROP TABLE](ql-reference.undrop-table.md) | Reativa uma tabela inativa. | 


**DML (Data Manipulation Language)**  

| Command | Descrição | 
| --- | --- | 
| [DELETE](ql-reference.delete.md) | Marca um documento ativo como excluído criando uma nova revisão final do documento. | 
| [FROM (INSERIR, REMOVER ou DEFINIR)](ql-reference.from.md) | Semanticamente o mesmo que UPDATE. | 
| [INSERT](ql-reference.insert.md) | Adiciona um ou mais [documentos](ql-reference.docs.md) a uma tabela. | 
| [SELECT](ql-reference.select.md) | Recupera até itens de uma ou mais tabelas. | 
| [UPDATE](ql-reference.update.md) | Atualiza, insere ou remove elementos específicos em um documento. | 

#### Exemplos de instruções DML
<a name="partiql-editor-ref-commands-examples"></a>

**INSERT**

```
INSERT INTO VehicleRegistration VALUE
{
    'VIN' : 'KM8SRDHF6EU074761', --string
    'RegNum' : 1722, --integer
    'PendingPenaltyTicketAmount' : 130.75, --decimal
    'Owners' : { --nested struct
        'PrimaryOwner' : { 'PersonId': '294jJ3YUoH1IEEm8GSabOs' },
        'SecondaryOwners' : [ --list of structs
            { 'PersonId' : '1nmeDdLo3AhGswBtyM1eYh' },
            { 'PersonId': 'IN7MvYtUjkp1GMZu0F6CG9' }
        ]
    },
    'ValidToDate' : `2020-06-25T` --Ion timestamp literal with day precision
}
```

**UPDATE-INSERT**

```
UPDATE Vehicle AS v
INSERT INTO v VALUE 26500 AT 'Mileage'
WHERE v.VIN = '1N4AL11D75C109151'
```

**UPDATE-REMOVE**

```
UPDATE Person AS p
REMOVE p.Address
WHERE p.GovId = '111-22-3333'
```

**SELECT: subconsulta correlacionada**

```
SELECT r.VIN, o.SecondaryOwners
FROM VehicleRegistration AS r, @r.Owners AS o
WHERE r.VIN IN ('1N4AL11D75C109151', 'KM8SRDHF6EU074761')
```

**SELECT: junção interna**

```
SELECT v.Make, v.Model, r.Owners
FROM VehicleRegistration AS r INNER JOIN Vehicle AS v
ON r.VIN = v.VIN
WHERE r.VIN IN ('1N4AL11D75C109151', 'KM8SRDHF6EU074761')
```

**SELECT: obtenha o ID do documento usando a cláusula BY**

```
SELECT r_id FROM VehicleRegistration AS r BY r_id
WHERE r.VIN = '1HVBBAANXWH544237'
```

### Visualizações definidas pelo sistema.
<a name="partiql-editor-ref-views"></a>

O QLDB oferece suporte às seguintes visualizações de tabela definidas pelo sistema.


| Visualizar | Descrição | 
| --- | --- | 
| table\$1name | A [visualização padrão do usuário](working.userdata.md) de uma tabela que inclui somente o estado atual dos dados do usuário. | 
| \$1ql\$1committed\$1table\$1name | A [visualização confirmada](working.metadata.md) completa definida pelo sistema de uma tabela que inclui o estado atual dos dados do usuário e dos metadados gerados pelo sistema, como um ID de documento. | 
| history(table\$1name) | A [função de histórico](working.history.md) integrada que retorna o histórico completo de revisão de uma tabela. | 

### Regras de sintaxe básica
<a name="partiql-editor-ref-syntax"></a>

O QLDB suporta as seguintes regras básicas de sintaxe para partiQL.


| Caractere | Descrição | 
| --- | --- | 
| ' | Aspas simples denotam valores de string ou nomes de campos nas estruturas Amazon Ion. | 
| " | As aspas duplas denotam identificadores entre aspas, como uma [palavra reservada](ql-reference.reserved.md) usada como nome de tabela. | 
| ` | Os acentos graves denotam valores literais de Ion. | 
| . | A notação de pontos acessa os nomes dos campos de uma estrutura principal. | 
| [ ] | Os colchetes definem um list Ion ou denotam um número ordinal baseado em zero para uma lista existente. | 
| \$1 \$1 | Chavetas definem um struct Ion. | 
| << >> | Os colchetes angulares duplos definem uma bolsa PartiQL, que é uma coleção não ordenada. Você usa uma sacola para inserir vários documentos em uma tabela. | 
| Diferenciação de letras maiúsculas e minúsculas | Todos os nomes de objetos do sistema QLDB, incluindo nomes de campos e nomes de tabelas, diferenciam maiúsculas de minúsculas. | 

### Atalhos de teclado do editor PartiQL
<a name="console_QLDB.partiql-editor-shortcuts"></a>

O *editor partiQL* no console QLDB oferece suporte aos seguintes atalhos de teclado.


| Ação | macOS | Windows | 
| --- | --- | --- | 
| Executar | Cmd\$1Return | Ctrl\$1Enter | 
| Comentário | Cmd\$1/ | Ctrl\$1/ | 
| Clear | Cmd\$1Shift\$1Delete | Ctrl\$1Shift\$1Delete | 

# Acessando o Amazon QLDB usando a (somente API AWS CLI de gerenciamento)
<a name="Tools.CLI"></a>

**Importante**  
Aviso de fim do suporte: os clientes existentes poderão usar o Amazon QLDB até o final do suporte em 31/07/2025. Para obter mais detalhes, consulte [Migrar um Amazon QLDB Ledger para o Amazon](https://aws.amazon.com/blogs/database/migrate-an-amazon-qldb-ledger-to-amazon-aurora-postgresql/) Aurora PostgreSQL.

Você pode usar o AWS Command Line Interface (AWS CLI) para controlar vários na linha Serviços da AWS de comando e automatizá-los por meio de scripts. Você pode usar o AWS CLI para operações únicas, conforme necessário. Ela também pode ser usada para incorporar operações do Amazon DynamoDB em scripts utilitários.

Para acesso à CLI, é necessário ter um ID de chave de acesso e de uma chave de acesso secreta. Use credenciais temporárias em vez de chaves de acesso de longo prazo quando possível. As credenciais temporárias incluem um ID de acesso, uma chave de acesso secreta e um token de segurança que indica quando as credenciais expiram. Para obter mais informações, consulte [Uso de credenciais temporárias com AWS recursos](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_use-resources.html) no *Guia do usuário do IAM*.

Para obter uma listagem completa de todos os comandos disponíveis para QLDB na AWS CLI, consulte a [Referência de comandos da AWS CLI](https://docs.aws.amazon.com/cli/latest/reference/qldb/index.html).

**nota**  
O suporta AWS CLI apenas as operações da API de `qldb` gerenciamento listadas no[Referência da API do Amazon QLDB](api-reference.md). Essa API é usada somente para gerenciar recursos de ledger e para operações de dados não transacionais.  
Para executar transações de dados com a API `qldb-session` usando uma interface de linha de comando, consulte [Como acessar o Amazon QLDB usando o shell do QLDB (somente API de dados)](data-shell.md).

**Topics**
+ [Instalar e configurar a AWS CLI](#Tools.CLI.InstallingAndConfiguring)
+ [Usando o AWS CLI com o QLDB](#Tools.CLI.UsingWithQLDB)

## Instalar e configurar a AWS CLI
<a name="Tools.CLI.InstallingAndConfiguring"></a>

 AWS CLI É executado em Linux, macOS ou Windows. Para instalá-la e configurá-la, consulte os seguintes tópicos no *Guia do usuário da AWS Command Line Interface *:

1. [Instalando ou atualizando a versão mais recente do AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)

1. [Configuração Rápida](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-quickstart.html)

## Usando o AWS CLI com o QLDB
<a name="Tools.CLI.UsingWithQLDB"></a>

O formato de linha de comando consiste em um nome de operação do Amazon QLDB, seguido pelos parâmetros dessa operação. O AWS CLI suporta uma sintaxe abreviada para os valores dos parâmetros, além de JSON.

 Use `help` para listar todos os comandos disponíveis no QLDB. 

```
aws qldb help
```

 Você também pode usar `help` para descrever um comando específico e saber mais sobre seu uso: 

```
aws qldb create-ledger help
```

 Por exemplo, para criar um ledger: 

```
aws qldb create-ledger --name my-example-ledger --permissions-mode STANDARD
```

# Como acessar o Amazon QLDB usando o shell do QLDB (somente API de dados)
<a name="data-shell"></a>

**Importante**  
Aviso de fim do suporte: os clientes existentes poderão usar o Amazon QLDB até o final do suporte em 31/07/2025. Para obter mais detalhes, consulte [Migrar um Amazon QLDB Ledger para o Amazon](https://aws.amazon.com/blogs/database/migrate-an-amazon-qldb-ledger-to-amazon-aurora-postgresql/) Aurora PostgreSQL.

O Amazon QLDB fornece um shell de linha de comando para interação com a API de dados transacionais. Com o shell QLDB, você pode executar instruções [partiQL](ql-reference.md) em dados de ledger.

A versão mais recente desse shell é escrita em Rust e é de código aberto no GitHub repositório [amazon-qldb-shellawslabs/](https://github.com/awslabs/amazon-qldb-shell) na ramificação padrão. `main` A versão do Python (v1) também ainda está disponível para uso no mesmo repositório na ramificação `master`.

**nota**  
O shell do Amazon QLDB só é compatível com a API de dados transacionais `qldb-session`. Essa API é usada somente para executar instruções partiQL em um ledger do QLDB.  
Para interagir com as operações da API `qldb` de gerenciamento usando uma interface de linha de comando, consulte [Acessando o Amazon QLDB usando a (somente API AWS CLI de gerenciamento)](Tools.CLI.md).

Essa ferramenta não se destina a ser incorporada a um aplicativo ou adotada para fins de produção. O objetivo dessa ferramenta é permitir que você experimente rapidamente o QLDB e o PartiQL.

As seções a seguir descrevem como começar a trabalhar com o shell do QLDB.

**Topics**
+ [Pré-requisitos](#data-shell-prerequisites)
+ [Instalar o shell](#data-shell-install)
+ [Invocar o shell](#data-shell-invoking)
+ [Parâmetros do shell](#data-shell-params)
+ [Referência de comando](#data-shell-reference)
+ [Executar instruções individuais](#data-shell-indiv-statements)
+ [Gerenciamento de transações](#data-shell-transactions)
+ [Sair do shell](#data-shell-exiting)
+ [Exemplo](#data-shell-examples)

## Pré-requisitos
<a name="data-shell-prerequisites"></a>

Antes de começar a usar o shell QLDB, você deverá fazer o seguinte:

1. Siga as instruções AWS de configuração em[Acessar o Amazon QLDB](accessing.md). Essa transmissão inclui o seguinte:

   1. Inscreva-se em AWS.

   1. Crie um usuário com as permissões adequadas para QLDB.

   1. Conceda acesso programático para desenvolvimento.

1. Configure suas AWS credenciais e seu padrão Região da AWS. Para obter instruções, consulte [Configuração rápida](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-quickstart.html) no *Guia do usuário AWS Command Line Interface *.

   Para obter uma lista completa das regiões disponíveis, consulte [endpoints e cotas Amazon QLDB](https://docs.aws.amazon.com/general/latest/gr/qldb.html) em *Referência geral da AWS*.

1. Para quaisquer ledgers no modo de permissões `STANDARD`, você deve criar políticas do IAM que concedam permissões para executar instruções PartiQL nesse recurso de tabela. Para saber como criar essas políticas, consulte [Introdução ao modo de permissões padrão no Amazon QLDB](getting-started-standard-mode.md).

## Instalar o shell
<a name="data-shell-install"></a>

[Para instalar a versão mais recente do shell QLDB, consulte o arquivo README.md em.](https://github.com/awslabs/amazon-qldb-shell/blob/main/README.md#installation) GitHub [O QLDB fornece arquivos binários pré-criados para Linux, macOS e Windows na seção Versões do repositório.](https://github.com/awslabs/amazon-qldb-shell/releases) GitHub 

Para macOS, o shell se integra ao `aws/tap` [Homebrew tap](https://docs.brew.sh/). Para instalar o shell no macOS usando Homebrew, execute os comandos a seguir.

```
$ xcode-select --install # Required to use Homebrew
$ brew tap aws/tap # Add AWS as a Homebrew tap
$ brew install qldbshell
```

### Configuração
<a name="data-shell-install.config"></a>

Após a instalação, o shell carrega o arquivo de configuração padrão localizado em `$XDG_CONFIG_HOME/qldbshell/config.ion` durante a inicialização. No Linux e macOS, esse arquivo está normalmente em `~/.config/qldbshell/config.ion`. Se esse arquivo não existir, o shell será executado com as configurações padrão.

Você pode criar um arquivo `config.ion` manualmente após a instalação. Esse arquivo de configuração usa o formato de dados [Amazon Ion](ion.md). Este é um exemplo de um arquivo mínimo `config.ion`.

```
{
  default_ledger: "my-example-ledger"
}
```

Se `default_ledger` não estiver definido no seu arquivo de configuração, o parâmetro `--ledger` será necessário quando você invocar o shell. Para obter uma lista completa das opções de configuração, consulte o arquivo [README.md](https://github.com/awslabs/amazon-qldb-shell/blob/main/README.md#configuration) em. GitHub

## Invocar o shell
<a name="data-shell-invoking"></a>

Para invocar o shell do QLDB em seu terminal de linha de comando para um ledger específico, execute o comando a seguir. *my-example-ledger*Substitua pelo nome do seu livro contábil.

```
$ qldb --ledger my-example-ledger
```

Esse comando se conecta ao seu padrão Região da AWS. Para especificar explicitamente a Região, você pode executar o comando com o parâmetro `--region` ou `--qldb-session-endpoint`, conforme descrito na seção a seguir.

Depois de invocar uma sessão de shell `qldb`, você pode inserir os seguintes tipos de entrada:
+ [Comandos do Shell](#data-shell-reference)
+ [Instruções partiQL únicas em transações separadas](#data-shell-indiv-statements)
+ [Várias instruções partiQL em uma transação](#data-shell-transactions)

## Parâmetros do shell
<a name="data-shell-params"></a>

Para obter uma lista completa dos sinalizadores e opções disponíveis para invocar um shell, execute o comando `qldb` com o sinalizador `--help`, da seguinte maneira.

```
$ qldb --help
```

Veja a seguir alguns sinalizadores principais e opções para o comando `qldb`. Você pode adicionar esses parâmetros opcionais para substituir o perfil de credenciais Região da AWS, o endpoint, o formato dos resultados e outras opções de configuração.

**Uso**

```
$ qldb [FLAGS] [OPTIONS]
```FLAGS

**`-h`, `--help`**  
Imprime informações de ajuda.

**`-v`, `--verbose`**  
Configura a verbosidade do log. Por padrão, o shell registra somente erros. Para aumentar o nível de verbosidade, repita esse argumento (por exemplo,`-vv`). O nível mais alto é `-vvv`, o que corresponde à verbosidade `trace`.

**`-V`, `--version`**  
Imprime as informações da versão.OPTIONS

**`-l`, `--ledger` *LEDGER\$1NAME***  
É o nome do ledger ao qual se conectar. Esse é um parâmetro de shell obrigatório se `default_ledger` não estiver definido em seu arquivo `config.ion`. Nesse arquivo, você pode definir opções adicionais, como a Região.

**`-c`, `--config` *CONFIG\$1FILE***  
O arquivo em que você pode definir qualquer opção de configuração do shell. Para obter detalhes de formatação e uma lista completa das opções de configuração, consulte o arquivo [README.md](https://github.com/awslabs/amazon-qldb-shell/blob/main/README.md#configuration) em. GitHub

**`-f`, `--format` `ion|table`**  
O formato de saída dos resultados da sua consulta. O padrão é `ion`.

**`-p`, `--profile` *PROFILE***  
A localização do seu perfil de AWS credenciais a ser usado para autenticação.  
Se não for fornecido, o shell usa seu AWS perfil padrão, localizado em`~/.aws/credentials`.

**`-r`, `--region` *REGION\$1CODE***  
O Região da AWS código do livro contábil do QLDB ao qual se conectar. Por exemplo: `us-east-1`.  
Se não for fornecido, o shell se conectará ao seu padrão Região da AWS conforme especificado em seu AWS perfil.

**`-s`, `--qldb-session-endpoint` *QLDB\$1SESSION\$1ENDPOINT***  
O endpoint de API `qldb-session` usado ao qual se conectar.  
Para obter uma lista completa das regiões e endpoints de QLDB disponíveis, consulte [endpoints e cotas Amazon QLDB](https://docs.aws.amazon.com/general/latest/gr/qldb.html) em *Referência geral da AWS*.

## Referência de comando
<a name="data-shell-reference"></a>

Depois de invocar uma sessão `qldb`, o shell oferece suporte às seguintes chaves e comandos de banco de dados:


**Chaves Shell**  

| Chave | Descrição da função | 
| --- | --- | 
| Enter | Executa a instrução. | 
|  Escape\$1Enter (macOS, Linux) Shift\$1Enter (Windows)  |  Inicia uma nova linha para inserir uma declaração que abrange várias linhas. Você também pode copiar o texto de entrada com várias linhas e colá-lo no shell. Para obter instruções sobre como configurar Option em vez de Escape como chave meta no macOS, consulte o site do [OS X Daily](https://osxdaily.com/2013/02/01/use-option-as-meta-key-in-mac-os-x-terminal/).  | 
| Ctrl\$1C | Cancela o comando atual. | 
| Ctrl\$1D | Sinaliza o fim do arquivo (EOF) e sai do nível atual do shell. Se não estiver em uma transação ativa, sai do shell. Em uma transação ativa, aborta a transação. | 


**Comandos do banco de dados do shell**  
<a name="data-shell-reference-commands"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/qldb/latest/developerguide/data-shell.html)

**nota**  
Todos os comandos de shell QLDB diferenciam maiúsculas de minúsculas.

## Executar instruções individuais
<a name="data-shell-indiv-statements"></a>

Com exceção dos comandos do banco de dados e dos meta-comandos do shell listados em [README.md](https://github.com/awslabs/amazon-qldb-shell/blob/main/README.md#command-interface), o shell interpreta cada comando inserido como uma instrução partiQL separada. Por padrão, o shell ativa o modo `auto-commit`. Esse modo é configurável.

No modo `auto-commit`, o shell executa implicitamente cada instrução em sua própria transação e confirma automaticamente a transação se nenhum erro for encontrado. Isso significa que você não precisa executar `start transaction` (ou `begin`) e `commit` manualmente toda vez que executar uma instrução.

## Gerenciamento de transações
<a name="data-shell-transactions"></a>

Como alternativa, o shell QLDB permite que você controle manualmente as transações. Você pode executar várias instruções em uma transação de forma interativa ou não interativa, agrupando comandos e instruções em lote sequencialmente.

### Transações interativas
<a name="data-shell-transactions.interactive"></a>

Para executar uma transação interativa, execute as etapas a seguir.

1. Para iniciar uma transação, digite o comando `begin`.

   ```
   qldb> begin
   ```

   Depois de iniciar uma transação, o shell exibirá o seguinte prompt de comando.

   ```
   qldb *>  
   ```

1. Em seguida, cada instrução inserida é executada na mesma transação.
   + Por exemplo, é possível executar uma única instrução da seguinte forma.

     ```
     qldb *> SELECT * FROM Vehicle WHERE VIN = '1N4AL11D75C109151'
     ```

     Depois de pressionar Enter, o shell exibe os resultados da instrução.
   + Você também pode inserir várias instruções ou comandos separados por um delimitador de ponto e vírgula (`;`) da seguinte forma.

     ```
     qldb *> SELECT * FROM Vehicle WHERE VIN = '1N4AL11D75C109151'; commit
     ```

1. Para finalizar a transação, insira um dos seguintes comandos.
   + Insira o comando `commit` para confirmar sua transação no diário do ledger.

     ```
     qldb *> commit
     ```
   + Digite o comando `abort` para interromper sua transação e rejeitar as alterações feitas.

     ```
     qldb *> abort
     transaction was aborted
     ```

**Tempo limite de transação**

Uma transação interativa segue o [limite de tempo de espera da transação](limits.md#limits.fixed) do QLDB. Se você não confirmar uma transação dentro de **30 segundos** após iniciá-la, o QLDB expirará automaticamente a transação e rejeitará todas as alterações feitas durante a transação.

Então, em vez de exibir os resultados da instrução, o shell exibe uma mensagem de erro de expiração e retorna ao prompt de comando normal. Para tentar novamente, você deve digitar o comando `begin` novamente para iniciar uma nova transação.

```
transaction failed after 1 attempts, last error: communication failure: Transaction 2UMpiJ5hh7WLjVgEiMLOoO has expired
```

### Transações não-interativas
<a name="data-shell-transactions.noninteractive"></a>

Você pode executar uma transação completa com várias instruções agrupando comandos em lotes e instruções sequencialmente da seguinte maneira.

```
qldb> begin; SELECT * FROM Vehicle WHERE VIN = '1N4AL11D75C109151'; SELECT * FROM Person p, DriversLicense l WHERE p.GovId = l.LicenseNumber; commit
```

Você deve separar cada comando e instrução com um delimitador de ponto e vírgula (`;`). Se alguma instrução na transação não for válida, o shell rejeitará automaticamente a transação. O shell não prossegue com nenhuma instrução subsequente que você inseriu.

Também é possível configurar várias transações.

```
qldb> begin; statement1; commit; begin; statement2; statement3; commit
```

Semelhante ao exemplo anterior, se uma transação falhar, o shell não prosseguirá com nenhuma transação ou instrução subsequente que você inseriu.

Se você não finalizar uma transação, o shell mudará para o modo interativo e solicitará o próximo comando ou instrução.

```
qldb> begin; statement1; commit; begin
qldb *>
```

## Sair do shell
<a name="data-shell-exiting"></a>

Para sair da sessão atual do shell `qldb`, digite o comando `exit` ou `quit` ou use o atalho de teclado Ctrl \$1 D quando o shell não estiver em uma transação.

```
qldb> exit
$
```

```
qldb> quit
$
```

## Exemplo
<a name="data-shell-examples"></a>

Para obter informações sobre como escrever instruções partiQL no QLDB, consulte o [Amazon QLDB PartiQL Reference](ql-reference.md).

**Example**  
O exemplo a seguir exibe uma sequência comum de comandos básicos.  
O shell QLDB executa cada instrução partiQL neste exemplo em sua própria transação.  
Este exemplo pressupõe que o ledger `test-ledger` já exista e esteja ativo.

```
$ qldb --ledger test-ledger --region us-east-1

qldb> CREATE TABLE TestTable
qldb> INSERT INTO TestTable `{"Name": "John Doe"}`
qldb> SELECT * FROM TestTable
qldb> DROP TABLE TestTable
qldb> exit
```

# Acessar o Amazon QLDB usando API
<a name="Using.API"></a>

**Importante**  
Aviso de fim do suporte: os clientes existentes poderão usar o Amazon QLDB até o final do suporte em 31/07/2025. Para obter mais detalhes, consulte [Migrar um Amazon QLDB Ledger para o Amazon](https://aws.amazon.com/blogs/database/migrate-an-amazon-qldb-ledger-to-amazon-aurora-postgresql/) Aurora PostgreSQL.

 Você pode usar o Console de gerenciamento da AWS e o AWS Command Line Interface (AWS CLI) para trabalhar interativamente com o Amazon QLDB. No entanto, para aproveitar ao máximo o QLDB, você pode escrever o código do aplicativo com um driver QLDB ou um SDK para interagir com seu livro contábil AWS usando o. APIs

O driver permite que seu aplicativo interaja com o QLDB usando a API de *dados transacionais*. O AWS SDK oferece suporte à interação com a API de gerenciamento de recursos do *QLDB*. Para obter mais informações sobre eles APIs, consulte [Referência da API do Amazon QLDB](api-reference.md) o.

O driver fornece suporte para QLDB em [Java](https://aws.amazon.com/sdk-for-java), [.NET](https://aws.amazon.com/sdk-for-net), [Go](https://aws.amazon.com/sdk-for-go), [Node.js](https://aws.amazon.com/sdk-for-node-js) e [Python](https://aws.amazon.com/sdk-for-python). Para começar a trabalhar rapidamente com essas linguagens, consulte [Conceitos básicos do driver do Amazon QLDB](getting-started-driver.md).

Antes de usar um driver QLDB ou AWS um SDK em seu aplicativo, você deve conceder acesso programático. Para obter mais informações, consulte [Conceder acesso programático](accessing.md#grant-programmatic-access).