

# 运行本开发人员指南中的代码示例
<a name="CodeSamples"></a>

AWS SDK 以下列语言为 Amazon DynamoDB 提供了广泛的支持：
+ [Java](https://aws.amazon.com/sdk-for-java)：
+ [浏览器中的 JavaScript](https://aws.amazon.com/sdk-for-browser)
+ [.NET](https://aws.amazon.com/sdk-for-net)
+ [Node.js](https://aws.amazon.com/sdk-for-node-js)
+ [PHP](https://aws.amazon.com/sdk-for-php)
+ [Python](https://aws.amazon.com/sdk-for-python)
+ [Ruby](https://aws.amazon.com/sdk-for-ruby)
+ [C\$1：](https://aws.amazon.com/sdk-for-cpp)
+ [Go](https://aws.amazon.com/sdk-for-go)\$1
+ [Android](https://aws.amazon.com/mobile/sdk/)：
+ [iOS](https://aws.amazon.com/mobile/sdk/)：

本开发人员指南的代码示例更深入介绍使用以下编程语言的 DynamoDB 操作：
+ [Java 代码示例](CodeSamples.Java.md)
+ [.NET 代码示例](CodeSamples.DotNet.md)

在开始本练习之前，您需要创建 AWS 账户，获取访问密钥和私有密钥，然后在计算机上设置 AWS Command Line Interface (AWS CLI)。有关更多信息，请参阅 [设置 DynamoDB（Web 服务）](SettingUp.DynamoWebService.md)。

**注意**  
如果使用可下载版本的 DynamoDB，则需要使用 AWS CLI 创建表和样本数据。还需要指定每个 AWS CLI 命令的 `--endpoint-url` 参数。有关更多信息，请参阅 [设置本地端点](DynamoDBLocal.UsageNotes.md#DynamoDBLocal.Endpoint)。

# 为 DynamoDB 中的代码示例创建表和加载数据
<a name="SampleData"></a>

有关在 DynamoDB 中创建表、加载示例数据集、查询数据和更新数据的基础知识，请参阅下文。
+ [第 1 步：在 DynamoDB 中创建表](getting-started-step-1.md)
+ [第 2 步：将数据写入 DynamoDB 表](getting-started-step-2.md)
+ [第 3 步：从 DynamoDB 表中读取数据](getting-started-step-3.md)
+ [第 4 步：更新 DynamoDB 表中的数据](getting-started-step-4.md)

# Java 代码示例
<a name="CodeSamples.Java"></a>

**Topics**
+ [

## Java：设置 AWS 凭证
](#CodeSamples.Java.Credentials)
+ [

## Java：设置 AWS 区域和端点
](#CodeSamples.Java.RegionAndEndpoint)

本开发人员指南中包含 Java 代码片段以及可现成运行的程序。可以在以下章节中找到这些代码示例：
+ [使用 DynamoDB 中的项目和属性](WorkingWithItems.md)
+ [使用 DynamoDB 中的表和数据](WorkingWithTables.md)
+ [在 DynamoDB 中查询表](Query.md)
+ [在 DynamoDB 中扫描表](Scan.md)
+ [在 DynamoDB 中使用二级索引改进数据访问](SecondaryIndexes.md)
+ [Java 1.x：DynamoDBMapper](DynamoDBMapper.md)
+ [将更改数据捕获用于 DynamoDB Streams](Streams.md)

可以结合使用 Eclipse 和 [AWS Toolkit for Eclipse](https://aws.amazon.com/eclipse/) 来实现快速入门。除功能全面的 IDE 之外，还有带自动更新和预置模板的 适用于 Java 的 AWS SDK，用于构建 AWS 应用程序。

**运行 Java 代码示例（使用 Eclipse）**

1. 下载并安装 [Eclipse](http://www.eclipse.org) IDE。

1. 下载并安装 [AWS Toolkit for Eclipse](https://aws.amazon.com/eclipse/)。

1. 启动 Eclipse，然后在 **Eclipse** 菜单中，依次选择**文件**、**新建**和**其他**。

1. 在**选择向导**中，依次选择 **AWS**、**AWS Java 项目**和**下一步**。

1. 在**创建 AWS Java** 中，执行以下操作：

   1. 在**项目名称**中输入项目名称。

   1. 在**选择账户**中，从列表中选择凭证配置文件。

      如果这是您首次使用 [AWS Toolkit for Eclipse](https://aws.amazon.com/eclipse/)，请选择**配置 AWS 账户**以设置 AWS 凭证。

1. 选择**完成**创建项目。

1. 从 **Eclipse** 菜单中，依次选择**文件**、**新建**和**类**。

1. 在 **Java 类**的**名称**中输入类名（使用与要运行的代码示例相同的名称），然后选择**完成**以创建类。

1. 将文档页的代码示例复制到 Eclipse 编辑器。

1. 要运行代码，请在 Eclipse 菜单中选择**运行**。

SDK for Java提供线程安全的客户端来处理 DynamoDB。应用程序应创建一个客户端并在线程之间重复使用此客户端，您应将此作为一项最佳实践。

有关更多信息，请参见 [适用于 Java 的 AWS SDK](https://aws.amazon.com/sdk-for-java)。

**注意**  
本指南中的代码示例旨在用于最新版本的 适用于 Java 的 AWS SDK。  
如果使用 AWS Toolkit for Eclipse，则可以为 SDK for Java 配置自动更新。要在 Eclipse 中进行此操作，转到**首选项**，选择 **AWS Toolkit**、**适用于 Java 的 AWS SDK**、**自动下载新 SDK**。

## Java：设置 AWS 凭证
<a name="CodeSamples.Java.Credentials"></a>

SDK for Java 要求在运行时为应用程序提供 AWS 凭证。本指南中的代码示例假设您使用 AWS 凭证文件，如《适用于 Java 的 AWS SDK开发人员指南》中的[设置 AWS 凭证](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/set-up-creds.html)所述。

下面是一个名为 `~/.aws/credentials` 的 AWS 凭证文件示例，其中波浪号字符 (`~`) 表示主目录。

```
[default]
aws_access_key_id = AWS access key ID goes here
aws_secret_access_key = Secret key goes here
```

## Java：设置 AWS 区域和端点
<a name="CodeSamples.Java.RegionAndEndpoint"></a>

代码示例默认访问美国西部（俄勒冈）区域的 DynamoDB。可以修改 `AmazonDynamoDB` 属性来更改区域。

下面的代码示例实例化一个新的 `AmazonDynamoDB`。

```
import software.amazon.dynamodb.AmazonDynamoDBClientBuilder;
import com.amazonaws.regions.Regions;
...
// This client will default to US West (Oregon)
AmazonDynamoDB client = AmazonDynamoDBClientBuilder.standard()
.withRegion(Regions.US_WEST_2)
.build();
```

可以使用 `withRegion` 方法对任何区域的 DynamoDB 运行代码。有关完整列表，请参阅《Amazon Web Services 一般参考》中的 [AWS 区域和终端节点](https://docs.aws.amazon.com/general/latest/gr/rande.html#ddb_region)**。

如果要使用 DynamoDB在计算机本地运行代码示例，请按如下方式设置端点。

### AWS SDK V1
<a name="CodeSamples.Java.RegionAndEndpoint.V1"></a>

```
AmazonDynamoDB client = AmazonDynamoDBClientBuilder.standard().withEndpointConfiguration(
new AwsClientBuilder.EndpointConfiguration("http://localhost:8000", "us-west-2"))
.build();
```

### AWS SDK V2
<a name="CodeSamples.Java.RegionAndEndpoint.V2"></a>

```
DynamoDbClient client = DynamoDbClient.builder()
    .endpointOverride(URI.create("http://localhost:8000"))
    // The region is meaningless for local DynamoDb but required for client builder validation
    .region(Region.US_EAST_1)
    .credentialsProvider(StaticCredentialsProvider.create(
    AwsBasicCredentials.create("dummy-key", "dummy-secret")))
    .build();
```

# .NET 代码示例
<a name="CodeSamples.DotNet"></a>

**Topics**
+ [

## .NET：设置 AWS 凭证
](#CodeSamples.DotNet.Credentials)
+ [

## .NET：设置 AWS 区域和端点
](#CodeSamples.DotNet.RegionAndEndpoint)

本指南包含 .NET 代码片段以及可现成运行的程序。可以在以下章节中找到这些代码示例：
+ [使用 DynamoDB 中的项目和属性](WorkingWithItems.md)
+ [使用 DynamoDB 中的表和数据](WorkingWithTables.md)
+ [在 DynamoDB 中查询表](Query.md)
+ [在 DynamoDB 中扫描表](Scan.md)
+ [在 DynamoDB 中使用二级索引改进数据访问](SecondaryIndexes.md)
+ [在 DynamoDB 中使用 .NET 文档模型](DotNetSDKMidLevel.md)
+ [结合使用 .NET 对象持久化模型和 DynamoDB](DotNetSDKHighLevel.md)
+ [将更改数据捕获用于 DynamoDB Streams](Streams.md)

可以使用 适用于 .NET 的 AWS SDK 和 Toolkit for Visual Studio 快速入门。

**运行 .NET 代码示例（使用 Visual Studio）**

1. 下载并安装 [Microsoft Visual Studio](https://www.visualstudio.com)。

1. （可选）下载并安装 [Toolkit for Visual Studio](https://aws.amazon.com/visualstudio/)。

1. 设置您的 AWS 凭证。在您的共享 AWS 凭证文件 (`~/.aws/credentials`) 中配置凭证配置文件。有关更多信息，请参阅《适用于 .NET 的 AWS SDK 开发人员指南》**中的[配置 AWS 凭证](https://docs.aws.amazon.com/sdk-for-net/v3/developer-guide/net-dg-config-creds.html)。

1. 启动 Visual Studio。依次选择**文件**、**新建**、**项目**。

1. 搜索**控制台应用程序**，选择以 .NET 为目标的 C\$1 模板，然后选择**下一步**。配置您的项目名称和位置，然后选择**创建**。

1. 将适用于 DynamoDB 的 AWS SDK NuGet 程序包添加到项目中：

   1. 在解决方案资源管理器中，打开项目的上下文（右键单击）菜单，然后选择**管理 NuGet 程序包**。

   1. 在 NuGet 程序包管理器中，选择**浏览**。

   1. 在搜索框中输入 **AWSSDK.DynamoDBv2**，等待搜索完成。

   1. 选择 **AWSSDK.DynamoDBv2**，然后选择**安装**。

1. 在 Visual Studio 项目中，打开 `Program.cs`。用要运行的文档页中的代码示例替换内容。

1. 要运行代码，请在 Visual Studio 工具栏中选择**开始**。

适用于 .NET 的 SDK 提供线程安全的客户端来处理 DynamoDB。应用程序应创建一个客户端并在线程之间重复使用此客户端，您应将此作为一项最佳实践。

有关更多信息，请参阅 [AWS SDK for .NET](https://aws.amazon.com/sdk-for-net)。

**注意**  
本指南中的代码示例旨在用于最新版本的 适用于 .NET 的 AWS SDK。

## .NET：设置 AWS 凭证
<a name="CodeSamples.DotNet.Credentials"></a>

适用于 .NET 的 SDK 要求在运行时向应用程序提供 AWS 凭证。本指南中的代码示例假定使用 SDK 存储来管理 AWS 凭证文件，如《适用于 .NET 的 AWS SDK 开发人员指南》**的[使用 SDK 存储](https://docs.aws.amazon.com/sdk-for-net/v3/developer-guide/net-dg-config-creds.html#sdk-store)所述。

Toolkit for Visual Studio 支持来自任意数量账户的多组凭证。每组凭证称为一个*配置文件*。Visual Studio 将条目添加到项目的 `App.config` 文件，这样应用程序可在运行时查找 AWS 凭证。

下面的示例显示使用 Toolkit for Visual Studio 创建新项目时生成的默认 `App.config` 文件。

```
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <appSettings>
    <add key="AWSProfileName" value="default"/>
    <add key="AWSRegion" value="us-west-2" />
 </appSettings>
</configuration>
```

运行时，程序使用 `AWSProfileName` 条目所指定的 `default` 组 AWS 凭证。AWS 凭证以加密形式保存在 SDK Store 中。Toolkit for Visual Studio 提供一个图形用户界面，用于在 Visual Studio 中管理凭证。有关更多信息，请参阅《AWS Toolkit for Visual Studio 用户指南》**的[指定凭证](https://docs.aws.amazon.com/AWSToolkitVS/latest/UserGuide/tkv_setup.html#creds)。

**注意**  
代码示例默认访问美国西部（俄勒冈）区域的 DynamoDB。可以通过修改 App.config 文件的 `AWSRegion` 条目更改区域。可以将 `AWSRegion` 设置为 DynamoDB 可用的任何区域。有关完整列表，请参阅《Amazon Web Services 一般参考》中的 [AWS 区域和终端节点](https://docs.aws.amazon.com/general/latest/gr/rande.html#ddb_region)**。

## .NET：设置 AWS 区域和端点
<a name="CodeSamples.DotNet.RegionAndEndpoint"></a>

代码示例默认访问美国西部（俄勒冈）区域的 DynamoDB。可以修改 `App.config` 文件中 `AWSRegion` 条目更改区域。或者，可以修改 `AmazonDynamoDBClient` 属性更改区域。

下面的代码示例实例化一个新的 `AmazonDynamoDBClient`。修改客户端，对其他区域的 DynamoDB 运行该代码。

```
AmazonDynamoDBConfig clientConfig = new AmazonDynamoDBConfig();
// This client will access the US East 1 region.
clientConfig.RegionEndpoint = RegionEndpoint.USEast1;
AmazonDynamoDBClient client = new AmazonDynamoDBClient(clientConfig);
```

有关区域的完整列表，请参阅《Amazon Web Services 一般参考》中的 [AWS 区域和终端节点](https://docs.aws.amazon.com/general/latest/gr/rande.html#ddb_region)**。

如果要使用 DynamoDB在计算机本地运行代码示例，请按如下方式设置端点。

```
AmazonDynamoDBConfig clientConfig = new AmazonDynamoDBConfig();
// Set the endpoint URL
clientConfig.ServiceURL = "http://localhost:8000";
AmazonDynamoDBClient client = new AmazonDynamoDBClient(clientConfig);
```