Amazon DynamoDB
开发人员指南 (API Version 2012-08-10)
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。点 击 Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.

TryDax.java

TryDax.java 文件包含 main 方法。如果您在没有命令行参数的情况下运行该程序,该程序将创建一个 DynamoDB 客户端并将该客户端用于所有 API 操作。如果您在命令行上指定了一个 DAX 集群终端节点,该程序还将创建一个 DAX 客户端并将其用于 GetItemQueryScan 操作。

您可以通过多种方式修改该程序。例如:

  • 用 DAX 客户端取代 DynamoDB 客户端 (请参阅步骤 4:运行示例应用程序)。

  • 为测试表选择其他名称。

  • 通过更改 helper.writeData 参数来修改写入的项目数。第二个参数是分区键数,第三个参数是排序键数。默认情况下,该程序使用 1-10 作为分区键值,并使用 1-10 作为排序键值,总共向表写入 100 个项目。(有关更多信息,请参阅 TryDaxHelper.java)

  • 修改 GetItemQueryScan 测试的数量,并修改它们的参数。

  • 注释掉包含 helper.createTablehelper.deleteTable 的行 (如果您不想每次运行程序时都创建和删除表)。

注意

要运行此程序,您必须在类路径中包含 DAX Java 客户端和 AWS 适用于 Java 的开发工具包。有关设置 CLASSPATH 变量的示例,请参阅步骤 4:运行示例应用程序

Copy
import com.amazonaws.services.dynamodbv2.document.DynamoDB; public class TryDax { public static void main(String[] args) throws Exception { TryDaxHelper helper = new TryDaxHelper(); TryDaxTests tests = new TryDaxTests(); DynamoDB ddbClient = helper.getDynamoDBClient(); DynamoDB daxClient = null; if (args.length >= 1) { daxClient = helper.getDaxClient(args[0]); } String tableName = "TryDaxTable"; System.out.println("Creating table..."); helper.createTable(tableName, ddbClient); System.out.println("Populating table..."); helper.writeData(tableName, ddbClient, 10, 10); DynamoDB testClient = null; if (daxClient != null) { testClient = daxClient; } else { testClient = ddbClient; } System.out.println("Running GetItem, Scan, and Query tests..."); System.out.println("First iteration of each test will result in cache misses"); System.out.println("Next iterations are cache hits\n"); // GetItem tests.getItemTest(tableName, testClient, 1, 10, 5); // Query tests.queryTest(tableName, testClient, 5, 2, 9, 5); // Scan tests.scanTest(tableName, testClient, 5); helper.deleteTable(tableName, ddbClient); } }