

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

# 使用 DynamoDB
<a name="examples-dynamodb"></a>

[DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Introduction.html) 是全受管的 NoSQL 資料庫服務，可提供快速且可預測的效能和無縫的可擴展性。本節說明如何使用 適用於 Java 的 AWS SDK 2.x 使用 DynamoDB。

## 選擇您的 DynamoDB 用戶端
<a name="ddb-clients-overview"></a>

開發套件提供兩種使用 DynamoDB 的主要方法：

低階客戶端 (`DynamoDbClient`)  
提供 DynamoDB 操作的直接存取權，並完全控制請求和回應。當您需要精細控制或使用動態結構描述時，請使用此用戶端。

增強型用戶端 (`DynamoDbEnhancedClient`)  
提供具有 Java 物件和 DynamoDB 項目之間自動映射的物件導向程式設計。也提供文件導向功能，用於處理不遵循固定結構描述的類似 JSON 的資料。使用定義明確的資料模型或文件類型資料時，請使用此用戶端。

## 設定 DynamoDB 用戶端
<a name="ddb-configuration-setup"></a>

使用 DynamoDB 之前，請設定您的用戶端以取得最佳效能和可靠性。

### 了解 DynamoDB 重試行為
<a name="ddb-retry-behavior"></a>

DynamoDB 用戶端使用預設的重試計數上限 8，高於其他 AWS 服務 用戶端。此較高的重試計數有助於處理 DynamoDB 的分散式本質和暫時容量限制。如需重試策略的詳細資訊，請參閱 [在 中設定重試行為 AWS SDK for Java 2.x](retry-strategy.md)。

### 使用帳戶型端點最佳化效能
<a name="ddb-account-based-endpoints-v2"></a>

DynamoDB 提供以[AWS 帳戶為基礎的端點](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Programming.SDKOverview.html#Programming.SDKs.endpoints)，透過使用 AWS 您的帳戶 ID 來簡化請求路由來改善效能。

若要使用此功能，您需要 2.28.4 版或更新版本的 AWS SDK for Java 2.x。您可以在 [Maven 中央儲存庫](https://central.sonatype.com/artifact/software.amazon.awssdk/bom/versions)中找到最新版本。支援的 SDK 版本會自動使用新的端點。

若要選擇退出以帳戶為基礎的路由，請選擇下列其中一個選項：
+ 將 DynamoDB 服務用戶端`AccountIdEndpointMode`設定為 `DISABLED`。
+ 設定環境變數。
+ 設定 JVM 系統屬性。
+ 更新共用 AWS 的組態檔案設定。

下列範例示範如何透過設定 DynamoDB 服務用戶端來停用帳戶型路由：

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

如需其他組態選項的詳細資訊，請參閱《 AWS SDKs和工具參考指南》中的[帳戶型端點](https://docs.aws.amazon.com/sdkref/latest/guide/feature-account-endpoints.html)。

## 本主題涵蓋的內容
<a name="ddb-topics-overview"></a>

下列各節說明如何使用 DynamoDB：
+ [在 中使用資料表 DynamoDB](examples-dynamodb-tables.md) - 建立、描述、更新和刪除資料表
+ [在 中使用項目 DynamoDB](examples-dynamodb-items.md) - 新增、擷取和更新個別項目
+ [使用 將 Java 物件映射至 DynamoDB 項目 AWS SDK for Java 2.x](dynamodb-enhanced-client.md) - 搭配增強型用戶端使用物件映射和文件導向資料

如需其他 DynamoDB 程式碼範例，請參閱[程式碼範例程式庫中的 DynamoDB ](java_dynamodb_code_examples.md) AWS 程式碼範例。