

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Acceso a Amazon QLDB
<a name="accessing"></a>

**importante**  
Aviso de fin del soporte: los clientes actuales podrán utilizar Amazon QLDB hasta que finalice el soporte, el 31 de julio de 2025. Para obtener más información, consulte [Migración de un registro de Amazon QLDB a Amazon Aurora](https://aws.amazon.com/blogs/database/migrate-an-amazon-qldb-ledger-to-amazon-aurora-postgresql/) PostgreSQL.

Puede acceder a Amazon QLDB mediante Consola de administración de AWS la API, la AWS CLI() o AWS Command Line Interface la QLDB. En las secciones siguientes, se describe cómo utilizar estas opciones y los requisitos previos para usarlas.

## Requisitos previos
<a name="accessing.prereqs"></a>

Antes de poder acceder a la QLDB, debe configurar Cuenta de AWS una si aún no lo ha hecho.

**Topics**
+ [Inscríbase en una Cuenta de AWS](#sign-up-for-aws)
+ [Creación de un usuario con acceso administrativo](#create-an-admin)
+ [Gestione los permisos de QLDB en IAM](#accessing.prereqs.permissions)
+ [Conceder acceso programático (opcional)](#grant-programmatic-access)

### Inscríbase en una Cuenta de AWS
<a name="sign-up-for-aws"></a>

Si no tiene uno Cuenta de AWS, complete los siguientes pasos para crearlo.

**Para suscribirse a una Cuenta de AWS**

1. Abrir [https://portal.aws.amazon.com/billing/registro](https://portal.aws.amazon.com/billing/signup).

1. Siga las instrucciones que se le indiquen.

   Parte del procedimiento de registro consiste en recibir una llamada telefónica o mensaje de texto e indicar un código de verificación en el teclado del teléfono.

   Cuando te registras en un Cuenta de AWS, *Usuario raíz de la cuenta de AWS*se crea un. El usuario raíz tendrá acceso a todos los Servicios de AWS y recursos de esa cuenta. Como práctica recomendada de seguridad, asigne acceso administrativo a un usuario y utilice únicamente el usuario raíz para realizar [tareas que requieren acceso de usuario raíz](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html#root-user-tasks).

AWS te envía un correo electrónico de confirmación una vez finalizado el proceso de registro. En cualquier momento, puede ver la actividad de su cuenta actual y administrarla accediendo a [https://aws.amazon.com/](https://aws.amazon.com/)y seleccionando **Mi cuenta**.

### Creación de un usuario con acceso administrativo
<a name="create-an-admin"></a>

Después de crear un usuario administrativo Cuenta de AWS, asegúrelo Usuario raíz de la cuenta de AWS AWS IAM Identity Center, habilite y cree un usuario administrativo para no usar el usuario root en las tareas diarias.

**Proteja su Usuario raíz de la cuenta de AWS**

1.  Inicie sesión [Consola de administración de AWS](https://console.aws.amazon.com/)como propietario de la cuenta seleccionando el **usuario root** e introduciendo su dirección de Cuenta de AWS correo electrónico. En la siguiente página, escriba su contraseña.

   Para obtener ayuda para iniciar sesión con el usuario raíz, consulte [Iniciar sesión como usuario raíz](https://docs.aws.amazon.com/signin/latest/userguide/console-sign-in-tutorials.html#introduction-to-root-user-sign-in-tutorial) en la *Guía del usuario de AWS Sign-In *.

1. Active la autenticación multifactor (MFA) para el usuario raíz.

   Para obtener instrucciones, consulte [Habilitar un dispositivo MFA virtual para el usuario Cuenta de AWS raíz (consola)](https://docs.aws.amazon.com/IAM/latest/UserGuide/enable-virt-mfa-for-root.html) en la Guía del usuario de *IAM*.

**Creación de un usuario con acceso administrativo**

1. Activar IAM Identity Center.

   Consulte las instrucciones en [Activar AWS IAM Identity Center](https://docs.aws.amazon.com/singlesignon/latest/userguide/get-set-up-for-idc.html) en la *Guía del usuario de AWS IAM Identity Center *.

1. En IAM Identity Center, conceda acceso administrativo a un usuario.

   Para ver un tutorial sobre su uso Directorio de IAM Identity Center como fuente de identidad, consulte [Configurar el acceso de los usuarios con la configuración predeterminada Directorio de IAM Identity Center en la](https://docs.aws.amazon.com/singlesignon/latest/userguide/quick-start-default-idc.html) Guía del *AWS IAM Identity Center usuario*.

**Inicio de sesión como usuario con acceso de administrador**
+ Para iniciar sesión con el usuario de IAM Identity Center, use la URL de inicio de sesión que se envió a la dirección de correo electrónico cuando creó el usuario de IAM Identity Center.

  Para obtener ayuda para iniciar sesión con un usuario del Centro de identidades de IAM, consulte [Iniciar sesión en el portal de AWS acceso](https://docs.aws.amazon.com/signin/latest/userguide/iam-id-center-sign-in-tutorial.html) en la *Guía del AWS Sign-In usuario*.

**Concesión de acceso a usuarios adicionales**

1. En IAM Identity Center, cree un conjunto de permisos que siga la práctica recomendada de aplicar permisos de privilegios mínimos.

   Para conocer las instrucciones, consulte [Create a permission set](https://docs.aws.amazon.com/singlesignon/latest/userguide/get-started-create-a-permission-set.html) en la *Guía del usuario de AWS IAM Identity Center *.

1. Asigne usuarios a un grupo y, a continuación, asigne el acceso de inicio de sesión único al grupo.

   Para conocer las instrucciones, consulte [Add groups](https://docs.aws.amazon.com/singlesignon/latest/userguide/addgroups.html) en la *Guía del usuario de AWS IAM Identity Center *.

### Gestione los permisos de QLDB en IAM
<a name="accessing.prereqs.permissions"></a>

Para obtener información sobre el uso de AWS Identity and Access Management (IAM) para administrar los permisos de QLDB para los usuarios, consulte. [Cómo funciona Amazon QLDB con IAM](security_iam_service-with-iam.md)

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

Los usuarios necesitan acceso programático si quieren interactuar con AWS personas ajenas a. Consola de administración de AWS La forma de conceder el acceso programático depende del tipo de usuario que acceda. AWS

Para conceder acceso programático a los usuarios, elija una de las siguientes opciones.


****  

| ¿Qué usuario necesita acceso programático? | Para | Mediante | 
| --- | --- | --- | 
|  Identidad del personal (Usuarios administrados en el IAM Identity Center)  | Usa credenciales temporales para firmar las solicitudes programáticas dirigidas al AWS CLI AWS SDKs, o. AWS APIs |  Siga las instrucciones de la interfaz que desea utilizar: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/qldb/latest/developerguide/accessing.html)  | 
| IAM | Utilice credenciales temporales para firmar las solicitudes programáticas dirigidas al AWS CLI AWS SDKs, o. AWS APIs | Siga las instrucciones de [Uso de credenciales temporales con AWS recursos](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_use-resources.html) de la Guía del usuario de IAM. | 
| IAM | (No recomendado)Utilice credenciales de larga duración para firmar las solicitudes programáticas dirigidas al AWS CLI AWS SDKs, o. AWS APIs |  Siga las instrucciones de la interfaz que desea utilizar: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/qldb/latest/developerguide/accessing.html)  | 

## Cómo acceder a Amazon QLDB
<a name="accessing.how-to"></a>

Tras completar los requisitos previos para configurar una Cuenta de AWS, consulte los siguientes temas para obtener más información sobre cómo acceder a la QLDB: 
+ [Uso de la consola](console_QLDB.md)
+ [Uso de la AWS CLI (solo la API de administración)](Tools.CLI.md)
+ [Uso del intérprete de comandos de Amazon QLDB (solo API de datos)](data-shell.md)
+ [Uso de la API](Using.API.md)

# Acceso a Amazon QLDB mediante la consola
<a name="console_QLDB"></a>

**importante**  
Aviso de fin del soporte: los clientes actuales podrán utilizar Amazon QLDB hasta que finalice el soporte, el 31 de julio de 2025. Para obtener más información, consulte [Migración de un registro de Amazon QLDB a Amazon Aurora](https://aws.amazon.com/blogs/database/migrate-an-amazon-qldb-ledger-to-amazon-aurora-postgresql/) PostgreSQL.

[Puede acceder a la QLDB Consola de administración de AWS de Amazon en /qldb. https://console.aws.amazon.com](https://console.aws.amazon.com/qldb)

Puede utilizar la consola para hacer lo siguiente en QLDB:
+ Cree, elimine, describa y enumere los libros mayores.
+ Ejecute instrucciones [PartiQL](ql-reference.md) mediante el *editor de PartiQL*.
+ Administre las etiquetas de los recursos de QLDB.
+ Verifique criptográficamente los datos del diario.
+ Exporte o transmita bloques de diario.

Para obtener información sobre cómo crear un libro mayor de Amazon QLDB y configurarlo con ejemplos de datos de aplicación, consulte [Introducción a la consola de Amazon QLDB](getting-started.md). 

## Referencia rápida del editor de PartiQL
<a name="partiql-editor-reference"></a>

**importante**  
Aviso de fin del soporte: los clientes actuales podrán utilizar Amazon QLDB hasta que finalice el soporte, el 31 de julio de 2025. Para obtener más información, consulte [Migración de un registro de Amazon QLDB a Amazon Aurora](https://aws.amazon.com/blogs/database/migrate-an-amazon-qldb-ledger-to-amazon-aurora-postgresql/) PostgreSQL.

Amazon QLDB admite un subconjunto de [PartiQL](https://partiql.org/) como lenguaje de consulta y [Amazon Ion](http://amzn.github.io/ion-docs/) como formato de datos orientado a documentos. Para obtener una guía completa e información más detallada sobre la implementación de PartiQL en QLDB, consulte [Referencia de PartiQL de Amazon QLDB](ql-reference.md).

Los siguientes temas proporcionan una descripción general de referencia rápida sobre cómo utilizar PartiQL en QLDB.

**Topics**
+ [Consejos rápidos sobre PartiQL en QLDB](#partiql-editor-ref-tips)
+ [Comandos](#partiql-editor-ref-commands)
+ [Vistas definidas por el sistema](#partiql-editor-ref-views)
+ [Reglas básicas de sintaxis](#partiql-editor-ref-syntax)
+ [Atajos de teclado del editor PartiQL](#console_QLDB.partiql-editor-shortcuts)

### Consejos rápidos sobre PartiQL en QLDB
<a name="partiql-editor-ref-tips"></a>

El siguiente es un breve resumen de los consejos y las prácticas recomendadas para trabajar con PartiQL en QLDB:
+ **Conozca los límites de concurrencia y de transacciones**: todas las instrucciones, incluidas las consultas `SELECT`, están sujetas a conflictos de [control de concurrencia optimista (OCC)](concurrency.md) y a [límites de transacciones](limits.md#limits.fixed), incluyendo un tiempo de espera de transacción de 30 segundos.
+ **Utilice índices**: utilice índices de cardinalidad alta y ejecute consultas dirigidas para optimizar sus instrucciones y evitar tener que escanear tablas completas. Para obtener más información, consulte [Optimización del rendimiento de las consultas](working.optimize.md).
+ **Utilice predicados de igualdad:** las búsquedas indexadas requieren un operador de *igualdad* (`=` o `IN`). Los operadores de desigualdad (`<`, `>`, `LIKE`, `BETWEEN`) no cumplen los requisitos para las búsquedas indexadas y dan como resultado escaneos de tablas completas.
+ **Utilice únicamente combinaciones internas**: QLDB solo admite combinaciones internas. Como práctica recomendada, combine los campos que estén indexados para cada tabla que vaya a unir. Elija índices de cardinalidad alta tanto para los criterios de unión como para los predicados de igualdad.

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

La QLDB admite los siguientes comandos de PartiQL.


**Lenguaje de definición de datos (DDL)**  

| Comando | Descripción | 
| --- | --- | 
| [CREATE INDEX](ql-reference.create-index.md) | Crea un índice para un campo de documento de nivel superior de una tabla. | 
| [CREATE TABLE](ql-reference.create-table.md) | Crea una tabla. | 
| [DROP INDEX](ql-reference.drop-index.md) | Elimina un índice de una tabla. | 
| [DROP TABLE](ql-reference.drop-table.md) | Desactiva una tabla existente. | 
| [UNDROP TABLE](ql-reference.undrop-table.md) | Reactiva una tabla inactiva. | 


**Lenguaje de manipulación de datos (DML)**  

| Comando | Descripción | 
| --- | --- | 
| [DELETE](ql-reference.delete.md) | Marca un documento activo como eliminado mediante la creación de una nueva revisión final del documento. | 
| [FROM (INSERT, REMOVE o SET)](ql-reference.from.md) | Semánticamente igual que UPDATE. | 
| [INSERT](ql-reference.insert.md) | Añade uno o más [documentos](ql-reference.docs.md) a una tabla. | 
| [SELECT](ql-reference.select.md) | Recupera datos de una o más tablas. | 
| [UPDATE](ql-reference.update.md) | Actualiza, inserta o elimina elementos específicos de un documento. | 

#### Ejemplos de instrucción 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 – combinación 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 – obtiene la ID del documento con la cláusula BY**

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

### Vistas definidas por el sistema
<a name="partiql-editor-ref-views"></a>

QLDB admite las siguientes vistas definidas por el sistema de una tabla.


| Visualización | Descripción | 
| --- | --- | 
| table\$1name | La [vista de usuario](working.userdata.md) predeterminada de una tabla que incluye únicamente el estado actual de los datos de usuario. | 
| \$1ql\$1committed\$1table\$1name | La [vista confirmada](working.metadata.md) completa definida por el sistema de una tabla que incluye el estado actual de los datos de usuario y los metadatos generados por el sistema, como el identificador de un documento. | 
| history(table\$1name) | La [función de historial](working.history.md) integrada que devuelve el historial de revisiones completo de una tabla. | 

### Reglas básicas de sintaxis
<a name="partiql-editor-ref-syntax"></a>

La QLDB admite las siguientes reglas básicas de sintaxis para PartiQL.


| Carácter | Descripción | 
| --- | --- | 
| ' | Las comillas simples indican valores de cadena o nombres de campo en las estructuras de Amazon Ion. | 
| " | Las comillas dobles indican identificadores entre comillas, como una [palabra reservada](ql-reference.reserved.md) que se usa como nombre de tabla. | 
| ` | Los acentos graves indican valores literales de Ion. | 
| . | La notación de puntos permite acceder a los nombres de campo de una estructura principal. | 
| [ ] | Los corchetes definen una list de Ion o indican un número ordinal basado en cero para una lista existente. | 
| \$1 \$1 | Los corchetes definen un struct de Ion. | 
| << >> | Los paréntesis angulares dobles definen una bag de PartiQL, que es una colección desordenada. Se utiliza una bag para insertar varios documentos en una tabla. | 
| Sensibilidad de mayúsculas y minúsculas | Todos los nombres de objetos del sistema de QLDB, incluidos los nombres de campos y tablas, distinguen mayúsculas de minúsculas. | 

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

El *editor PartiQL* de la consola de QLDB admite los siguientes atajos de teclado.


| Acción | macOS | Windows | 
| --- | --- | --- | 
| Ejecute | Cmd\$1Return | Ctrl\$1Enter | 
| Comentario | Cmd\$1/ | Ctrl\$1/ | 
| Clear | Cmd\$1Shift\$1Delete | Ctrl\$1Shift\$1Delete | 

# Acceso a Amazon QLDB mediante la (solo API AWS CLI de administración)
<a name="Tools.CLI"></a>

**importante**  
Aviso de fin del soporte: los clientes actuales podrán utilizar Amazon QLDB hasta que finalice el soporte, el 31 de julio de 2025. Para obtener más información, consulte [Migración de un registro de Amazon QLDB a Amazon Aurora](https://aws.amazon.com/blogs/database/migrate-an-amazon-qldb-ledger-to-amazon-aurora-postgresql/) PostgreSQL.

Puede usar el AWS Command Line Interface (AWS CLI) para controlar varios Servicios de AWS desde la línea de comandos y automatizarlos mediante scripts. Puede usarlo AWS CLI para operaciones únicas según sea necesario. También puede usarla para incluir operaciones de Amazon QLDB en scripts de utilidades.

Para acceder a la CLI, necesita un ID de clave de acceso y una clave de acceso secreta. Cuando sea posible, utilice credenciales temporales en lugar de claves de acceso. Las credenciales temporales incluyen un ID de clave de acceso y una clave de acceso secreta, pero, además, incluyen un token de seguridad que indica cuándo caducan las credenciales. Para obtener más información, consulte [Uso de credenciales temporales con AWS recursos](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_use-resources.html) en la *Guía del usuario de IAM*.

Para obtener un listado completo y ejemplos de uso de todos los comandos disponibles para QLDB en la AWS CLI, consulte [Referencia de comandos de AWS CLI](https://docs.aws.amazon.com/cli/latest/reference/qldb/index.html).

**nota**  
 AWS CLI Solo admite las operaciones `qldb` de la API de administración que se enumeran en. [Referencia de la API de Amazon QLDB](api-reference.md) Esta API se usa únicamente para administrar los recursos del libro mayor y para las operaciones de datos no transaccionales.  
Para ejecutar transacciones de datos con la API `qldb-session` mediante una interfaz de la línea de comandos, consulte [Acceso a Amazon QLDB mediante el intérprete de comandos de QLDB (solo API de datos)](data-shell.md).

**Topics**
+ [Instalación y configuración de la AWS CLI](#Tools.CLI.InstallingAndConfiguring)
+ [Uso del AWS CLI con QLDB](#Tools.CLI.UsingWithQLDB)

## Instalación y configuración de la AWS CLI
<a name="Tools.CLI.InstallingAndConfiguring"></a>

Se AWS CLI ejecuta en Linux, macOS o Windows. Para instalarla y configurarla, vea las siguientes instrucciones en la *Guía del usuario de AWS Command Line Interface *:

1. [Instalar o actualizar la última versión del AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)

1. [Configuración Rápida](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-quickstart.html)

## Uso del AWS CLI con QLDB
<a name="Tools.CLI.UsingWithQLDB"></a>

El formato de la línea de comandos se compone de un nombre de operación de Amazon QLDB seguido de los parámetros de dicha operación. AWS CLI Admite una sintaxis abreviada para los valores de los parámetros, además de JSON.

 Utilice la `help` para mostrar todos los comandos disponibles en QLDB: 

```
aws qldb help
```

 También puede utilizar la `help` para describir un comando específico y obtener más información sobre su uso: 

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

 Por ejemplo, para crear un libro mayor: 

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

# Acceso a Amazon QLDB mediante el intérprete de comandos de QLDB (solo API de datos)
<a name="data-shell"></a>

**importante**  
Aviso de fin del soporte: los clientes actuales podrán utilizar Amazon QLDB hasta que finalice el soporte, el 31 de julio de 2025. Para obtener más información, consulte [Migración de un registro de Amazon QLDB a Amazon Aurora](https://aws.amazon.com/blogs/database/migrate-an-amazon-qldb-ledger-to-amazon-aurora-postgresql/) PostgreSQL.

Amazon QLDB proporciona un intérprete de comandos de línea de comandos para la interacción con la API de datos transaccionales. Con el intérprete de comandos de QLDB, puede ejecutar instrucciones [PartiQL](ql-reference.md) en datos del libro mayor.

La última versión de este shell está escrita en Rust y es de código abierto en el GitHub repositorio [amazon-qldb-shellawslabs/](https://github.com/awslabs/amazon-qldb-shell) de la rama predeterminada. `main` La versión de Python (v1) también está disponible para su uso en el mismo repositorio de la rama `master`.

**nota**  
El intérprete de comandos de Amazon QLDB solo admite la API de datos transaccionales `qldb-session`. Esta API se usa solo para ejecutar instrucciones PartiQL en un libro mayor de QLDB.  
Para interactuar con las operaciones de la API `qldb` de administración mediante una interfaz de la línea de comandos, consulte [Acceso a Amazon QLDB mediante la (solo API AWS CLI de administración)](Tools.CLI.md).

Esta herramienta no está destinada a incorporarse a una aplicación ni a adoptarse con fines de producción. El objetivo de esta herramienta es permitirle experimentar rápidamente con QLDB y PartiQL.

En las secciones siguientes se describe cómo comenzar a utilizar la sincronización del intérprete de comandos de QLDB.

**Topics**
+ [Requisitos previos](#data-shell-prerequisites)
+ [Instalación del intérprete de comandos](#data-shell-install)
+ [Invocar el intérprete de comandos](#data-shell-invoking)
+ [Parámetros de intérprete de comandos](#data-shell-params)
+ [Referencia de los comandos](#data-shell-reference)
+ [Ejecutar instrucciones individuales](#data-shell-indiv-statements)
+ [Administración de transacciones](#data-shell-transactions)
+ [Salir del intérprete de comandos](#data-shell-exiting)
+ [Ejemplo](#data-shell-examples)

## Requisitos previos
<a name="data-shell-prerequisites"></a>

Antes de empezar a usar el intérprete de comandos de QLDB, debe hacer lo siguiente:

1. Siga las instrucciones de AWS configuración que se indican en. [Acceso a Amazon QLDB](accessing.md) Esta incluye lo siguiente:

   1. Inscríbase en AWS.

   1. Cree un usuario con los permisos de QLDB adecuados.

   1. Conceda acceso programático de desarrollo.

1. Configura tus AWS credenciales y las predeterminadas Región de AWS. Para obtener instrucciones, consulte [Configuración rápida](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-quickstart.html) en la *Guía del usuario de AWS Command Line Interface *.

   Para ver una lista completa de las regiones disponibles, consulte [Puntos de conexión y cuotas de Amazon QLDB](https://docs.aws.amazon.com/general/latest/gr/qldb.html) en *Referencia general de AWS*.

1. Para cualquier libro mayor en el modo de permisos `STANDARD`, deberá crear políticas de IAM que concedan permisos para ejecutar instrucciones PartiQL en las tablas adecuadas. Para obtener información sobre cómo crear estas políticas, consulte [Introducción al modo de permisos estándar en Amazon QLDB](getting-started-standard-mode.md).

## Instalación del intérprete de comandos
<a name="data-shell-install"></a>

Para instalar la última versión del shell de QLDB, consulte el archivo README.md [en](https://github.com/awslabs/amazon-qldb-shell/blob/main/README.md#installation). GitHub QLDB proporciona archivos binarios prediseñados para Linux, macOS y Windows en [la sección de versiones del repositorio](https://github.com/awslabs/amazon-qldb-shell/releases). GitHub 

Para macOS, el intérprete de comandos se integra con el tap de [Homebrew](https://docs.brew.sh/) `aws/tap`. Para instalar el intérprete de comandos en macOS con Homebrew, ejecute los siguientes comandos.

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

### Configuración
<a name="data-shell-install.config"></a>

Tras la instalación, el intérprete de comandos carga el archivo de configuración predeterminado que se encuentra en `$XDG_CONFIG_HOME/qldbshell/config.ion` durante la inicialización. En Linux y macOS, este archivo suele aparecer como `~/.config/qldbshell/config.ion`. Si dicho archivo no existe, el intérprete de comandos se ejecuta con la configuración predeterminada.

Puede crear un archivo `config.ion` manualmente después de la instalación. Este archivo de configuración utiliza el formato de datos de [Amazon Ion](ion.md). A continuación se presenta un ejemplo de un archivo `config.ion`.

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

Si `default_ledger` no está establecido en el archivo de configuración, el parámetro `--ledger` es obligatorio para invocar el intérprete de comandos. Para obtener una lista completa de las opciones de configuración, consulte el [archivo README.md](https://github.com/awslabs/amazon-qldb-shell/blob/main/README.md#configuration) en. GitHub

## Invocar el intérprete de comandos
<a name="data-shell-invoking"></a>

Para invocar el intérprete de comandos de QLDB en su terminal de línea de comandos para un libro mayor específico, ejecute el siguiente comando. Sustitúyalo por el *my-example-ledger* nombre de tu libro mayor.

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

Este comando se conecta a su configuración predeterminada Región de AWS. Para especificar la región de forma explícita, puede ejecutar el comando con el parámetro `--region` o `--qldb-session-endpoint`, tal y como se describe en la siguiente sección.

Tras invocar una sesión de intérprete de comandos `qldb`, puede introducir los siguientes tipos de entrada:
+ [Comandos de intérprete de comandos](#data-shell-reference)
+ [Instrucciones PartiQL únicas en transacciones separadas](#data-shell-indiv-statements)
+ [Instrucciones PartiQL múltiples dentro de una transacción](#data-shell-transactions)

## Parámetros de intérprete de comandos
<a name="data-shell-params"></a>

Para obtener una lista completa de los marcadores y opciones disponibles para invocar un intérprete de comandos, ejecute el comando `qldb` con el indicador `--help`, de la siguiente manera.

```
$ qldb --help
```

A continuación se enumeran opciones y marcadores clave del comando `qldb`. Puede añadir estos parámetros opcionales para anular las credenciales Región de AWS, el perfil, el punto final, el formato de los resultados y otras opciones de configuración.

**Uso**

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

**`-h`, `--help`**  
Imprime información de ayuda.

**`-v`, `--verbose`**  
Configura el nivel de detalle del registro. De forma predeterminada, el intérprete de comandos solo registra los errores. Para aumentar el nivel de detalle, repita este argumento (por ejemplo, `-vv`). El nivel más alto es `-vvv`, que corresponde al nivel de detalle `trace`.

**`-V`, `--version`**  
Imprime la información de la versión.OPCIONES

**`-l`, `--ledger` *LEDGER\$1NAME***  
Nombre del libro mayor al que se va a conectar. Se trata de un parámetro de intérprete de comandos obligatorio si `default_ledger` no está establecido en el archivo `config.ion`. En este archivo, puede configurar opciones adicionales, como la región.

**`-c`, `--config` *CONFIG\$1FILE***  
El archivo en el que puede definir cualquier opción de configuración de intérprete de comandos. Para obtener detalles sobre el formato y una lista completa de las opciones de configuración, consulte el [archivo README.md](https://github.com/awslabs/amazon-qldb-shell/blob/main/README.md#configuration) en. GitHub

**`-f`, `--format` `ion|table`**  
El formato de salida de los resultados de su consulta. El valor predeterminado es `ion`.

**`-p`, `--profile` *PROFILE***  
La ubicación del perfil de AWS credenciales que se utilizará para la autenticación.  
Si no se proporciona, el shell utilizará su AWS perfil predeterminado, que se encuentra en`~/.aws/credentials`.

**`-r`, `--region` *REGION\$1CODE***  
El Región de AWS código del libro mayor de QLDB al que conectarse. Por ejemplo: `us-east-1`.  
Si no se proporciona, el shell se conecta a su configuración predeterminada, tal y Región de AWS como se especifica en su perfil. AWS 

**`-s`, `--qldb-session-endpoint` *QLDB\$1SESSION\$1ENDPOINT***  
El punto de conexión de la API `qldb-session` usado para conectarse.  
Para ver una lista completa de las regiones y puntos de conexión QLDB disponibles, consulte [Puntos de conexión y cuotas de Amazon QLDB](https://docs.aws.amazon.com/general/latest/gr/qldb.html) en *Referencia general de AWS*.

## Referencia de los comandos
<a name="data-shell-reference"></a>

Tras invocar una sesión `qldb`, el intérprete de comandos admite las siguientes claves y comandos de base de datos:


**Claves de intérprete de comandos**  

| Clave | Descripción de función | 
| --- | --- | 
| Enter | Ejecute la instrucción. | 
|  Escape\$1Enter (macOS, Linux) Shift\$1Enter (Windows)  |  Inicia una nueva línea para introducir una instrucción que abarque varias líneas. También puede copiar el texto introducido con varias líneas y pegarlo en el intérprete de comandos. Para obtener instrucciones sobre cómo configurar Option en lugar de Escape como una clave meta en macOS, consulte el sitio de [OS X Daily](https://osxdaily.com/2013/02/01/use-option-as-meta-key-in-mac-os-x-terminal/).  | 
| Ctrl\$1C | Cancela el comando actual. | 
| Ctrl\$1D | Señala el final del archivo (EOF) y sale del nivel actual del intérprete de comandos. Si no está en una transacción activa, sale del intérprete de comandos. En una transacción activa, anula la transacción. | 


**Comandos de la base de datos del intérprete de comandos**  
<a name="data-shell-reference-commands"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/qldb/latest/developerguide/data-shell.html)

**nota**  
Los comandos del intérprete de comandos de QLDB no distingue ninguno entre mayúsculas y minúsculas.

## Ejecutar instrucciones individuales
<a name="data-shell-indiv-statements"></a>

A excepción de los comandos de la base de datos y los metacomandos del intérprete de comandos que aparecen en [README.md](https://github.com/awslabs/amazon-qldb-shell/blob/main/README.md#command-interface), el intérprete de comandos interpreta cada comando que se introduce como una instrucción PartiQL independiente. De forma predeterminada, el intérprete de comandos habilita el modo `auto-commit`. Este modo es configurable.

En el modo `auto-commit`, el intérprete de comandos ejecuta implícitamente cada instrucción en su propia transacción y la confirma automáticamente si no se encuentra ningún error. Esto significa que no tiene que ejecutar `start transaction` (ni `begin`) y `commit` manualmente cada vez que ejecute una instrucción.

## Administración de transacciones
<a name="data-shell-transactions"></a>

Como alternativa, el intérprete de comandos de QLDB le permite controlar manualmente las transacciones. Puede ejecutar varias instrucciones dentro de una transacción de forma interactiva o no interactiva agrupando comandos e instrucciones por lotes de forma secuencial.

### Transacciones activas
<a name="data-shell-transactions.interactive"></a>

Para ejecutar una transacción interactiva, realice los siguientes pasos.

1. Para iniciar una transacción, introduzca el comando `begin`.

   ```
   qldb> begin
   ```

   Tras iniciar una transacción, el intérprete de comandos muestra la siguiente línea de comandos.

   ```
   qldb *>  
   ```

1. A continuación, todas las instrucciones que introduzca se ejecutarán en la misma transacción.
   + Por ejemplo, puede ejecutar una sola instrucción de la siguiente manera.

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

     Tras pulsar Enter, el intérprete de comandos muestra los resultados de la instrucción.
   + También puede introducir varias instrucciones o comandos separados por un delimitador de punto y coma (`;`) de la siguiente manera.

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

1. Para finalizar la transacción, inserte uno de los siguientes comandos.
   + Introduzca el comando `commit` para confirmar la transacción en el diario del libro mayor.

     ```
     qldb *> commit
     ```
   + Introduzca el comando `abort` para detener la transacción y rechazar cualquier cambio que haya realizado.

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

**Límite de tiempo de espera de transacción**

Una transacción interactiva cumple con el [límite de tiempo de espera de las transacciones](limits.md#limits.fixed) de QLDB. Si no confirma una transacción en un plazo de **30 segundos** desde su inicio, QLDB vence automáticamente la transacción y rechaza cualquier cambio realizado durante la transacción.

A continuación, en lugar de mostrar los resultados de la instrucción, el intérprete de comandos muestra un mensaje de error de caducidad y vuelve a la línea de comandos normal. Para volver a intentarlo, debe volver a introducir el comando `begin` para iniciar una nueva transacción.

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

### Transacciones no interactivas
<a name="data-shell-transactions.noninteractive"></a>

Puede ejecutar una transacción completa con varias instrucciones agrupando los comandos y las declaraciones de forma secuencial de la siguiente manera.

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

Debe separar cada comando y cada instrucción con un delimitador de punto y coma (`;`). Si alguna de las instrucciones de la transacción no es válida, el intérprete de comandos la rechaza automáticamente. El intérprete de comandos no procederá con ningún extracto posterior que haya introducido.

También puede configurar varias transacciones.

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

Al igual que en el ejemplo anterior, si se produce un error en una transacción, el intérprete de comandos no procederá con ninguna transacción o instrucción posterior que haya introducido.

Si no finaliza una transacción, el intérprete de comandos pasa al modo interactivo y le pide el siguiente comando o instrucción.

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

## Salir del intérprete de comandos
<a name="data-shell-exiting"></a>

Para salir de la sesión de intérprete de comandos `qldb` actual, introduzca el comando `exit` o `quit`, o utilice la combinación de teclas Ctrl\$1D cuando el intérprete de comandos no esté incluido en una transacción.

```
qldb> exit
$
```

```
qldb> quit
$
```

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

Para obtener información sobre cómo escribir instrucciones PartiQL en QLDB, consulte [Referencia de PartiQL de Amazon QLDB](ql-reference.md).

**Example**  
En el siguiente ejemplo, se muestra una secuencia común de comandos básicos.  
El intérprete de comandos de QLDB ejecuta cada instrucción PartiQL de este ejemplo en su propia transacción.  
En este ejemplo se supone que el libro mayor `test-ledger` ya existe y está activo.

```
$ 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
```

# Acceso a Amazon QLDB mediante la API
<a name="Using.API"></a>

**importante**  
Aviso de fin del soporte: los clientes actuales podrán utilizar Amazon QLDB hasta que finalice el soporte, el 31 de julio de 2025. Para obtener más información, consulte [Migración de un registro de Amazon QLDB a Amazon Aurora](https://aws.amazon.com/blogs/database/migrate-an-amazon-qldb-ledger-to-amazon-aurora-postgresql/) PostgreSQL.

 Puede utilizar los caracteres Consola de administración de AWS y AWS Command Line Interface (AWS CLI) para trabajar de forma interactiva con Amazon QLDB. Sin embargo, para aprovechar al máximo la QLDB, puede escribir el código de la aplicación con un controlador de QLDB o AWS un SDK para interactuar con su libro mayor mediante el. APIs

El controlador permite que su aplicación interactúe con QLDB mediante la API de *datos transaccionales*. El AWS SDK admite la interacción con la API de administración de recursos de *QLDB*. Para obtener más información al respecto APIs, consulte la. [Referencia de la API de Amazon QLDB](api-reference.md)

El controlador proporciona soporte para QLDB en [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) y [Python](https://aws.amazon.com/sdk-for-python). Para comenzar rápidamente a trabajar con estos lenguajes, consulte [Introducción al controlador de Amazon QLDB](getting-started-driver.md).

Antes de poder utilizar un controlador de QLDB o AWS un SDK en su aplicación, debe conceder acceso mediante programación. Para obtener más información, consulte [Concesión de acceso programático](accessing.md#grant-programmatic-access).