TryDax.java - Amazon DynamoDB

TryDax.java

O arquivo TryDax.java contém o método main. Se você executar o programa sem parâmetros de linha de comando, ele criará um cliente do Amazon DynamoDB e usará esse cliente para todas as operações de API. Se você especificar um endpoint de cluster do DynamoDB Accelerator (DAX) na linha de comando, o programa também criará um cliente do DAX e o usará para operações GetItem, Query e Scan.

É possível modificar o programa de várias maneiras:

  • Use o cliente do DAX em vez do cliente do DynamoDB. Para ter mais informações, consulte Java e DAX.

  • Escolha um nome diferente para a tabela de teste.

  • Modifique o número de itens gravados, alterando os parâmetros helper.writeData. O segundo parâmetro é o número de chaves de partição, e o terceiro parâmetro é o número de chaves de classificação. Por padrão, o programa usa 1–10 para valores de chave de partição e 1–10 para valores de chave de classificação, totalizando 100 itens gravados na tabela. Para ter mais informações, consulte TryDaxHelper.java.

  • Modifique o número de testes de GetItem, Query e Scan e modifique seus parâmetros.

  • Assinale como comentários as linhas contendo helper.createTable e helper.deleteTable (se não quiser criar e excluir a tabela de cada vez que executar o programa).

nota

Para executar o programa, é possível configurar o Maven para usar o cliente do SDK for Java do DAX e o AWS SDK for Java como dependências. Para ter mais informações, consulte Usar o cliente como dependência do Apache Maven.

Opcionalmente, você pode fazer download e incluir o cliente Java do DAX e o AWS SDK for Java em seu classpath. Consulte Java e DAX para obter um exemplo de configuração da variável 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); } }