TryDax.java - Amazon DynamoDB

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

TryDax.java

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

可以通过多种方式修改程序:

  • 使用 DAX 客户端而不是 DynamoDB 客户端。有关更多信息,请参阅 Java 和 DAX

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

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

  • 修改 GetItemQueryScan 测试的数量及其参数。

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

注意

要运行此程序,您可以设置 Maven 将 DAX SDK for Java 客户端和 AWS SDK for Java 作为依赖项。有关更多信息,请参阅 使用客户端作为 Apache Maven 依赖项

或者可以下载 DAX Java 客户端和 AWS SDK for Java 并加入类路径。有关设置 Java 和 DAX 变量的示例,请参阅 CLASSPATH

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); } }