

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.

# Trabaja con DynamoDB
<a name="examples-dynamodb"></a>

[DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Introduction.html) es un servicio de bases de datos NoSQL totalmente administrado que proporciona un rendimiento rápido y predecible, así como una perfecta escalabilidad. En esta sección se muestra cómo trabajar con DynamoDB mediante la versión AWS SDK para Java 2.x.

## Selección de un cliente de DynamoDB
<a name="ddb-clients-overview"></a>

El SDK ofrece dos métodos principales para trabajar con DynamoDB:

Cliente de bajo nivel (`DynamoDbClient`)  
Proporciona acceso directo a las operaciones de DynamoDB con control total sobre las solicitudes y las respuestas. Utilice este cliente cuando necesite un control detallado o trabaje con esquemas dinámicos.

Cliente mejorado (`DynamoDbEnhancedClient`)  
Ofrece programación orientada a objetos con asignación automática entre objetos de Java y elementos de DynamoDB. También proporciona funciones orientadas a documentos para trabajar con datos tipo JSON que no siguen un esquema fijo. Utilice este cliente cuando trabaje con modelos de datos bien definidos o datos de tipo documento.

## Configuración de clientes de DynamoDB
<a name="ddb-configuration-setup"></a>

Antes de trabajar con DynamoDB, configure el cliente para obtener un rendimiento y una fiabilidad óptimos.

### Descripción del comportamiento de reintento de DynamoDB
<a name="ddb-retry-behavior"></a>

Los clientes de DynamoDB utilizan un número máximo de reintentos predeterminado de 8, que es mayor que el de otros clientes de Servicio de AWS . Este mayor número de reintentos ayuda a administrar la naturaleza distribuida y las limitaciones temporales de capacidad de DynamoDB. Para obtener más información sobre estrategias de reintento, consulte [Configure el comportamiento de reintento en el AWS SDK for Java 2.x](retry-strategy.md).

### Optimización del rendimiento con puntos de conexión basados en cuentas
<a name="ddb-account-based-endpoints-v2"></a>

DynamoDB [AWS ofrece puntos de enlace basados en cuentas](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Programming.SDKOverview.html#Programming.SDKs.endpoints) que mejoran el rendimiento mediante el uso de AWS su ID de cuenta para agilizar el enrutamiento de solicitudes. 

Para utilizar esta característica, debe utilizar la versión 2.28.4 o superior de AWS SDK for Java 2.x. Encontrará la versión más reciente en el [Repositorio central de Maven](https://central.sonatype.com/artifact/software.amazon.awssdk/bom/versions). Las versiones del SDK compatibles utilizan automáticamente los nuevos puntos de conexión.

Para excluir el enrutamiento basado en cuentas, elija una de estas opciones:
+ Configure un cliente de servicio de DynamoDB con `AccountIdEndpointMode` establecido en `DISABLED`.
+ Establezca una variable de entorno.
+ Establezca una propiedad del sistema JVM.
+ Actualice la configuración del archivo de configuración compartido. AWS 

El siguiente ejemplo muestra cómo deshabilitar el enrutamiento basado en cuentas mediante la configuración de un cliente de servicio de DynamoDB:

```
DynamoDbClient.builder()
                 .accountIdEndpointMode(AccountIdEndpointMode.DISABLED)
                 .build();
```

Para obtener más información sobre las demás opciones de configuración, consulte los [puntos finales basados en cuentas](https://docs.aws.amazon.com/sdkref/latest/guide/feature-account-endpoints.html) en la Guía de referencia de herramientas AWS SDKs y herramientas.

## Qué se aborda en este tema
<a name="ddb-topics-overview"></a>

En las secciones siguientes se muestra cómo se trabaja con DynamoDB:
+ [Trabajar con tablas en DynamoDB](examples-dynamodb-tables.md): crear, describir, actualizar y eliminar tablas
+ [Trabaja con elementos en DynamoDB](examples-dynamodb-items.md): añadir, recuperar y actualizar elementos individuales
+ [Asigne objetos Java a elementos de DynamoDB con AWS SDK for Java 2.x](dynamodb-enhanced-client.md): utilizar la asignación de objetos y datos orientados a documentos con el Cliente mejorado

Para ver más ejemplos de código de DynamoDB, consulte Ejemplos de código de [DynamoDB en la biblioteca de ejemplos](java_dynamodb_code_examples.md) de código. AWS 