

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 建立增強型用戶端和 `DynamoDbTable`
<a name="ddb-en-client-getting-started-dynamodbTable"></a>

## 建立增強型用戶端
<a name="ddb-en-client-getting-started-dynamodbTable-eclient"></a>

[DynamoDbEnhancedClient](https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/enhanced/dynamodb/DynamoDbEnhancedClient.html) 類別或其非同步對應 [DynamoDbEnhancedAsyncClient](https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/enhanced/dynamodb/DynamoDbEnhancedAsyncClient.html) 是使用 DynamoDB 增強型用戶端 API 的進入點。

增強型用戶端需要標準 `[DynamoDbClient](https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/services/dynamodb/DynamoDbClient.html)`才能執行工作。API 提供兩種建立`DynamoDbEnhancedClient`執行個體的方式。下列程式碼片段中顯示的第一個選項會建立標準`DynamoDbClient`，其中包含從組態設定中挑選的預設設定。

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

如果您想要設定基礎標準用戶端，您可以將其提供給增強型用戶端的建置器方法，如下列程式碼片段所示。

```
// 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();
```

## 建立 `DynamoDbTable` 執行個體
<a name="ddb-en-client-getting-started-dynamodbTable-table"></a>

將 [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)視為 DynamoDB 資料表的用戶端表示法，該資料表使用 提供的映射功能`TableSchema`。`DynamoDbTable` 類別提供 CRUD 操作的方法，可讓您與單一 DynamoDB 資料表互動。

`DynamoDbTable<T>` 是採用單一類型引數的一般類別，無論是自訂類別，還是使用文件類型項目`EnhancedDocument`時的 。此引數類型會建立您使用的類別與單一 DynamoDB 資料表之間的關係。

使用 的`table()`原廠方法`DynamoDbEnhancedClient`建立`DynamoDbTable`執行個體，如下列程式碼片段所示。

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

`DynamoDbTable` 執行個體是單調的候選項目，因為它們不可變，可用於整個應用程式。

您的程式碼現在具有可使用`Customer`執行個體的 DynamoDB 資料表的記憶體內表示法。實際的 DynamoDB 資料表可能存在，也可能不存在。如果名為 的資料表`Customer`已存在，您可以開始對其執行 CRUD 操作。如果不存在，請使用`DynamoDbTable`執行個體來建立資料表，如下一節所述。