

# Hoja de referencia para DynamoDB
<a name="CheatSheet"></a>

Esta hoja de referencia proporciona una base rápida para trabajar con Amazon DynamoDB y los distintos AWS SDK.

## Configuración inicial
<a name="CheatSheet.InitialSetup"></a>

1. [Regístrese en AWS](SettingUp.DynamoWebService.html#SettingUp.DynamoWebService.SignUpForAWS).

1. [Obtenga una clave de acceso de AWS](SettingUp.DynamoWebService.html#SettingUp.DynamoWebService.GetCredentials) para acceder a DynamoDB mediante programación.

1. [Configure las credenciales de DynamoDB](SettingUp.DynamoWebService.html#SettingUp.DynamoWebService.ConfigureCredentials).

**Véase también:**
+ [Configuración de DynamoDB (servicio web)](SettingUp.DynamoWebService.html)
+ [Introducción a DynamoDB](GettingStartedDynamoDB.html)
+ [Información básica de los componentes principales](HowItWorks.CoreComponents.html)

 

## SDK o CLI
<a name="CheatSheet.Platform"></a>

Elija el [SDK](sdk-general-information-section.html) preferido o configure la [AWS CLI](/cli/latest/index.html).

**nota**  
Cuando se utiliza la AWS CLI en Windows, una barra invertida (\$1) que no esté entre comillas se considera un retorno de carro. Además, debe usar escape entre comillas y corchetes dentro de otras comillas. Para ver un ejemplo, consulte la pestaña **Windows** en "Create a table" (Crear una tabla) en la siguiente sección.

**Véase también:**
+ [AWS CLI con DynamoDB](Tools.CLI.html)
+ [Introducción a DynamoDB: paso 2](getting-started-step-2.html)

## Acciones básicas
<a name="CheatSheet.BasicActions"></a>

En esta sección se proporciona código para las tareas básicas de DynamoDB. Para obtener más información sobre estas tareas, consulte [Introducción a DynamoDB y los AWS SDK](GettingStarted.html).

### Creación de una tabla
<a name="CheatSheet.BasicActions.CreateTable"></a>

------
#### [ Default ]

```
aws dynamodb create-table \
    --table-name Music \
    --attribute-definitions \
        AttributeName=Artist,AttributeType=S \
        AttributeName=SongTitle,AttributeType=S \
    --key-schema AttributeName=Artist,KeyType=HASH AttributeName=SongTitle,KeyType=RANGE \
    --billing-mode PAY_PER_REQUEST \
    --table-class STANDARD
```

------
#### [ Windows ]

```
aws dynamodb create-table ^
    --table-name Music ^
    --attribute-definitions ^
        AttributeName=Artist,AttributeType=S ^
        AttributeName=SongTitle,AttributeType=S ^
    --key-schema AttributeName=Artist,KeyType=HASH AttributeName=SongTitle,KeyType=RANGE ^
    --billing-mode PAY_PER_REQUEST ^
    --table-class STANDARD
```

------

### Escribir elemento en una tabla
<a name="CheatSheet.BasicActions.WriteItem"></a>

```
aws dynamodb put-item \ --table-name Music \ --item file://item.json
```

### Leer elemento de una tabla
<a name="CheatSheet.BasicActions.ReadItem"></a>

```
aws dynamodb get-item \ --table-name Music \ --item file://item.json
```

### Eliminar un elemento de una tabla
<a name="CheatSheet.BasicActions.DeleteItem"></a>

```
aws dynamodb delete-item --table-name Music --key file://key.json
```

### Consulta de una tabla
<a name="CheatSheet.BasicActions.QueryTable"></a>

```
aws dynamodb query --table-name Music 
--key-condition-expression "ArtistName=:Artist and SongName=:Songtitle"
```

### Eliminación de una tabla
<a name="CheatSheet.BasicActions.DeleteTable"></a>

```
aws dynamodb delete-table --table-name Music
```

### Mostrar nombres de tablas
<a name="CheatSheet.BasicActions.ListTableNames"></a>

```
aws dynamodb list-tables
```

## Reglas de nomenclatura
<a name="CheatSheet.NamingRules"></a>
+ Todos los nombres se deben codificar mediante UTF-8 y distinguen entre mayúsculas y minúsculas.
+ Los nombres de las tablas y los índices deben tener entre 3 y 255 caracteres, que solo pueden ser los siguientes:
  + `a-z`
  + `A-Z`
  + `0-9`
  + `_` (guion bajo)
  + `-` (guion)
  + `.` (punto)
+ Los nombres de atributo deben tener al menos un carácter y un tamaño inferior a 64 KB.

Para obtener más información, consulte [Naming rules](HowItWorks.NamingRulesDataTypes.html) (Reglas de nomenclatura).

## Conceptos básicos sobre Service Quotas
<a name="CheatSheet.ServiceBasics"></a>

**Unidades de lectura y escritura**
+ **Unidad de capacidad de lectura (RCU)**: una lectura altamente coherente por segundo o dos lecturas coherentes posteriores por segundo, para elementos con un tamaño de hasta 4 KB.
+ **Unidad de capacidad de escritura (WCU)**: una escritura por segundo para los elementos con un tamaño de hasta 1 KB.

**Límites de tabla**
+ **Tamaño de tabla**: no existe ningún límite práctico del tamaño de una tabla. Las tablas no presentan restricciones en cuanto al número de elementos o de bytes.
+ **Número de tablas**: para cualquier cuenta de AWS, existe una cuota inicial de 2500 tablas por región de AWS. 
+ **Límite de tamaño de página para consulta y análisis**: hay un límite de 1 MB por página, por consulta o análisis. Si los parámetros de la consulta o la operación de análisis de una tabla arrojan más de 1 MB de datos, DynamoDB devuelve los elementos coincidentes iniciales. También devuelve una propiedad `LastEvaluatedKey` que puede utilizar en una nueva solicitud para leer la página siguiente.

**Índices**
+ **Índices secundarios locales (LSI)**: puede definir un máximo de cinco índices secundarios locales. Los LSI son útiles principalmente cuando un índice debe tener una gran coherencia con la tabla base. 
+ **Índices secundarios globales (GSI)**: existe una cuota predeterminada de 20 índices secundarios globales por tabla.
+ **Atributos de índice secundario proyectado por tabla**: puede proyectar un máximo de 100 atributos en todos los índices secundarios locales y globales de una tabla. Esto solo se aplica a los atributos proyectados especificados por el usuario.

**Claves de partición**
+ La longitud mínima de un valor de clave de partición es de 1 byte. La longitud máxima es de 2048 bytes.
+ No existe ningún límite práctico respecto al número de valores diferentes de clave de partición, ni para tablas ni para los índices secundarios.
+ La longitud mínima de un valor de clave de ordenación es de 1 byte. La longitud máxima es de 1024 bytes.
+ En general, no existe ningún límite práctico respecto al número de valores diferentes de clave de ordenación por cada valor de clave de partición. Hay una excepción en las tablas que utilizan índices secundarios.

Para obtener más información sobre los índices secundarios, el diseño de la clave de partición y el diseño de la clave de clasificación, consulte [Prácticas recomendadas](best-practices.html).

**Límites para los tipos de datos de uso común**
+ **Cadena**: la longitud de una cadena está limitada por el tamaño de elemento máximo de 400 KB. Los valores de tipo String son Unicode con codificación binaria UTF-8.
+ **Número**: un número puede tener hasta 38 dígitos de precisión y puede ser positivo, negativo o cero.
+ **Binario**: la longitud de un valor binario está limitada por el tamaño de elemento máximo de 400 KB. Las aplicaciones que utilizan atributos binarios deben codificar los datos en cifrado base64 antes de enviarlos a DynamoDB.

Para obtener una lista completa de los tipos de datos admitidos, consulte [Data types](HowItWorks.NamingRulesDataTypes.html#HowItWorks.DataTypes) (Tipos de datos). Para obtener más información, consulte también [Service Quotas](ServiceQuotas.html#limits-items).

### Elementos, atributos y parámetros de expresión
<a name="CheatSheet.ServiceBasics.Misc"></a>

El tamaño máximo de un elemento en DynamoDB es de 400 KB, que incluye la longitud en formato binario de los nombres de los atributos (longitud en UTF-8) y las longitudes en formato binario de los valores de los atributos (longitud en UTF-8). El nombre de los atributos se tiene en cuenta al calcular el límite de tamaño.

No existe ningún límite en el número de valores de una lista, un mapa o un conjunto, siempre y cuando el elemento que contiene los valores se ajuste al límite de tamaño de elemento de 400 KB.

Para parámetros de expresión, la longitud máxima de cualquier cadena de expresión es 4 KB.

Para obtener más información sobre el tamaño del elemento, los atributos y los parámetros de expresión, consulte [Service Quotas](ServiceQuotas.html#limits-items).

## Más información
<a name="CheatSheet.FurtherInfo"></a>
+ [Seguridad](security.html)
+ [Monitoreo y registro](monitoring.html)
+ [Uso de secuencias](streamsmain.html)
+ [Copias de seguridad](Backup-and-Restore.html) y [recuperación a un momento dado](Point-in-time-recovery.html)
+ [Integración con otros servicios de AWS](OtherServices.html) 
+ [Referencia de la API del](/amazondynamodb/latest/APIReference/Welcome.html)
+ [Centro de arquitectura: prácticas recomendadas de bases de datos](https://aws.amazon.com/architecture/databases/)
+ [Tutoriales de vídeo](https://youtu.be/Mw8wCj0gkRc)
+ [Foro de DynamoDB](https://repost.aws/search/questions?globalSearch=dynamodb)