

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.

# Crear un cliente mejorado y una `DynamoDbTable`
<a name="ddb-en-client-getting-started-dynamodbTable"></a>

## Crear un cliente mejorado
<a name="ddb-en-client-getting-started-dynamodbTable-eclient"></a>

La [DynamoDbEnhancedClient](https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/enhanced/dynamodb/DynamoDbEnhancedClient.html)clase o su contraparte asíncrona [DynamoDbEnhancedAsyncClient](https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/enhanced/dynamodb/DynamoDbEnhancedAsyncClient.html), es el punto de partida para trabajar con la API de cliente mejorada de DynamoDB.

El cliente mejorado requiere un `[DynamoDbClient](https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/services/dynamodb/DynamoDbClient.html)` estándar para hacer el trabajo. La API ofrece dos formas de crear una instancia de `DynamoDbEnhancedClient`. La primera opción, que se muestra en el siguiente fragmento, crea un `DynamoDbClient` estándar con los ajustes predeterminados tomados de la configuración.

```
DynamoDbEnhancedClient enhancedClient = DynamoDbEnhancedClient.create();
```

Si desea configurar el cliente estándar subyacente, puede suministrarlo al método constructor del cliente mejorado como se muestra en el siguiente fragmento.

```
// Configure an instance of the standard DynamoDbClient.
DynamoDbClient standardClient = DynamoDbClient.builder()
    .region(Region.US_EAST_1)
    .credentialsProvider(ProfileCredentialsProvider.create())
    .build();

// Use the configured standard client with the enhanced client.
DynamoDbEnhancedClient enhancedClient = DynamoDbEnhancedClient.builder()
    .dynamoDbClient(standardClient)
    .build();
```

## Crear una instancia de `DynamoDbTable`
<a name="ddb-en-client-getting-started-dynamodbTable-table"></a>

Piense en una [https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/enhanced/dynamodb/DynamoDbTable.html](https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/enhanced/dynamodb/DynamoDbTable.html) como la representación del cliente de una tabla de DynamoDB que utiliza la funcionalidad de mapeo proporcionada por un `TableSchema`. La clase `DynamoDbTable` proporciona métodos para las operaciones CRUD que permiten interactuar con una sola tabla de DynamoDB.

`DynamoDbTable<T>` es una clase genérica que toma un único argumento de tipo, ya sea una clase personalizada o un `EnhancedDocument` cuando se trabaja con elementos de tipo documento. Este tipo de argumento establece la relación entre la clase que utiliza y la tabla única de DynamoDB.

Siga el método de fábrica `table()` del `DynamoDbEnhancedClient` para crear una instancia `DynamoDbTable`, como se muestra en el siguiente fragmento.

```
static final DynamoDbTable<Customer> customerTable = 
        enhancedClient.table("Customer", TableSchema.fromBean(Customer.class));
```

Las instancias de `DynamoDbTable` son aptas para ser únicas porque son inmutables y se pueden usar en toda la aplicación.

El código ahora tiene una representación en memoria de una tabla de DynamoDB que puede funcionar con instancias `Customer`. La tabla de DynamoDB real puede existir o no. Si la tabla nombrada `Customer` ya existe, puede empezar a realizar operaciones de CRUD en ella. Si no existe, utilice la instancia de `DynamoDbTable` para crear la tabla, tal y como se explica en la siguiente sección.