TryDax.java
ファイルには、main
メソッドが含まれています。コマンドラインパラメータを指定しないでプログラムを実行すると、Amazon DynamoDB クライアントが作成され、すべての API オペレーションでそのクライアントが使用されます。コマンドラインで DynamoDB Accelerator (DAX) クラスターエンドポイントを指定すると、プログラムは DAX クライアントも作成し、GetItem
、Query
、Scan
オペレーションでこれを使用します。
さまざまな方法でプログラムを変更できます。
-
DynamoDB クライアントではなく、DAX クライアントを使用します。詳細については、「Java および DAX」を参照してください。
-
テストテーブルに別の名前を付けます。
-
helper.writeData
パラメータを変更して書き込まれる項目の数を変更する。2 番目のパラメータはパーティションキーの数、3 番目のパラメータはソートキーの数です。デフォルトでは、プログラムはパーティションキーの値に 1~10 を使用し、ソートキーの値に 1~10 を使用し、合計で 100 個の項目がテーブルに書き込まれます。詳細については、「TryDaxHelper.java」を参照してください。 -
GetItem
、Query
およびScan
テストの数を変更し、そのパラメータを変更する。 -
helper.createTable
およびhelper.deleteTable
を含むラインをコメントアウトする (プログラムを実行するたびにテーブルを作成および削除しない場合)。
注記
このプログラムを実行するには、DAX SDK for Java のクライアント、および AWS SDK for Java を依存関係として使用するように Maven を設定できます。詳細については、「クライアントを Apache Maven 依存関係として使用する」を参照してください。
また、DAX Java クライアントと AWS SDK for Java の両方をダウンロードして、クラスパスに含めることもできます。CLASSPATH
変数の設定例については、「Java および DAX」を参照してください。
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);
}
}