TryDax.java - Amazon DynamoDB

TryDax.java

El archivo TryDax.java contiene el método main. Si ejecuta el programa sin parámetros de línea de comandos, se crea un cliente de Amazon DynamoDB que se utiliza para todas las operaciones de la API. Si especifica el punto de enlace de un clúster de DynamoDB Accelerator (DAX) en la línea de comandos, el programa crea también un cliente de DAX y lo utiliza para las operaciones GetItem, Query y Scan.

Puede modificar el programa de varias maneras:

  • Utilizar el cliente de DAX en lugar del cliente de DynamoDB. Para obtener más información, consulte Java y DAX.

  • Elegir otro nombre para la tabla de prueba.

  • Cambiar los parámetros de helper.writeData para modificar el número de elementos que se escriben. El segundo parámetro es el número de claves de partición y el tercero, el número de claves de ordenación. De forma predeterminada, el programa usa entre 1 y 10 valores de clave de partición y entre 1 y 10 valores de clave de ordenación, lo que equivale a un total de 100 elementos escritos en la tabla. Para obtener más información, consulte TryDaxHelper.java.

  • Modificar el número de pruebas de GetItem, Query y Scan, así como sus parámetros.

  • Marcar como comentarios las líneas que contienen helper.createTable y helper.deleteTable, sin no desea crear y eliminar la tabla cada vez que ejecute el programa.

nota

Para ejecutar este programa, puede configurar Maven para usar el cliente para el SDK de DAX para Java y AWS SDK for Java como dependencias. Para obtener más información, consulte Uso del cliente como dependencia de Apache Maven.

Como alternativa, puede descargar e incluir el cliente Java de DAX y el AWS SDK for Java en su classpath. Consulte Java y DAX para ver un ejemplo de cómo establecer la variable 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); } }