use of software.amazon.awssdk.services.dynamodb.model.DescribeTableRequest in project aws-doc-sdk-examples by awsdocs.
the class DescribeTable method describeDymamoDBTable.
// snippet-start:[dynamodb.java2.describe_table.main]
public static void describeDymamoDBTable(DynamoDbClient ddb, String tableName) {
DescribeTableRequest request = DescribeTableRequest.builder().tableName(tableName).build();
try {
TableDescription tableInfo = ddb.describeTable(request).table();
if (tableInfo != null) {
System.out.format("Table name : %s\n", tableInfo.tableName());
System.out.format("Table ARN : %s\n", tableInfo.tableArn());
System.out.format("Status : %s\n", tableInfo.tableStatus());
System.out.format("Item count : %d\n", tableInfo.itemCount().longValue());
System.out.format("Size (bytes): %d\n", tableInfo.tableSizeBytes().longValue());
ProvisionedThroughputDescription throughputInfo = tableInfo.provisionedThroughput();
System.out.println("Throughput");
System.out.format(" Read Capacity : %d\n", throughputInfo.readCapacityUnits().longValue());
System.out.format(" Write Capacity: %d\n", throughputInfo.writeCapacityUnits().longValue());
List<AttributeDefinition> attributes = tableInfo.attributeDefinitions();
System.out.println("Attributes");
for (AttributeDefinition a : attributes) {
System.out.format(" %s (%s)\n", a.attributeName(), a.attributeType());
}
}
} catch (DynamoDbException e) {
System.err.println(e.getMessage());
System.exit(1);
}
System.out.println("\nDone!");
}
use of software.amazon.awssdk.services.dynamodb.model.DescribeTableRequest in project aws-doc-sdk-examples by awsdocs.
the class CreateTable method createTable.
// snippet-start:[dynamodb.java2.create_table.main]
public static String createTable(DynamoDbClient ddb, String tableName, String key) {
DynamoDbWaiter dbWaiter = ddb.waiter();
CreateTableRequest request = CreateTableRequest.builder().attributeDefinitions(AttributeDefinition.builder().attributeName(key).attributeType(ScalarAttributeType.S).build()).keySchema(KeySchemaElement.builder().attributeName(key).keyType(KeyType.HASH).build()).provisionedThroughput(ProvisionedThroughput.builder().readCapacityUnits(new Long(10)).writeCapacityUnits(new Long(10)).build()).tableName(tableName).build();
String newTable = "";
try {
CreateTableResponse response = ddb.createTable(request);
DescribeTableRequest tableRequest = DescribeTableRequest.builder().tableName(tableName).build();
// Wait until the Amazon DynamoDB table is created
WaiterResponse<DescribeTableResponse> waiterResponse = dbWaiter.waitUntilTableExists(tableRequest);
waiterResponse.matched().response().ifPresent(System.out::println);
newTable = response.tableDescription().tableName();
return newTable;
} catch (DynamoDbException e) {
System.err.println(e.getMessage());
System.exit(1);
}
return "";
}
use of software.amazon.awssdk.services.dynamodb.model.DescribeTableRequest in project aws-doc-sdk-examples by awsdocs.
the class DynamoDBAsyncCreateTable method createTable.
// snippet-start:[dynamodb.java2.dbasync.table.main]
public static void createTable(DynamoDbAsyncClient client, String tableName, String key) {
// Create a DynamoDbAsyncWaiter object
DynamoDbAsyncWaiter asyncWaiter = client.waiter();
// Create the CreateTableRequest object
CreateTableRequest request = CreateTableRequest.builder().attributeDefinitions(AttributeDefinition.builder().attributeName(key).attributeType(ScalarAttributeType.S).build()).keySchema(KeySchemaElement.builder().attributeName(key).keyType(KeyType.HASH).build()).provisionedThroughput(ProvisionedThroughput.builder().readCapacityUnits(new Long(10)).writeCapacityUnits(new Long(10)).build()).tableName(tableName).build();
// Create the table by using the DynamoDbAsyncClient object
CompletableFuture<CreateTableResponse> response = client.createTable(request);
// When future is complete (either successfully or in error) handle the response
response.whenComplete((table, err) -> {
try {
if (table != null) {
// Create a DescribeTableRequest object required for waiter functionality
DescribeTableRequest tableRequest = DescribeTableRequest.builder().tableName(table.tableDescription().tableName()).build();
CompletableFuture<WaiterResponse<DescribeTableResponse>> waiterResponse = asyncWaiter.waitUntilTableExists(tableRequest);
// Fires when the table is ready
waiterResponse.whenComplete((r, t) -> {
// print out the new table's ARN when its ready
String tableARN = r.matched().response().get().table().tableArn();
System.out.println("The table " + tableARN + " is ready");
});
waiterResponse.join();
} else {
// Handle error
err.printStackTrace();
}
} finally {
// Lets the application shut down. Only close the client when you are completely done with it.
client.close();
}
});
response.join();
}
use of software.amazon.awssdk.services.dynamodb.model.DescribeTableRequest in project aws-doc-sdk-examples by awsdocs.
the class Scenario method createTable.
// snippet-start:[dynamodb.java2.scenario.create_table.main]
// Create a table with a Sort key.
public static void createTable(DynamoDbClient ddb, String tableName) {
DynamoDbWaiter dbWaiter = ddb.waiter();
ArrayList<AttributeDefinition> attributeDefinitions = new ArrayList<AttributeDefinition>();
// Define attributes.
attributeDefinitions.add(AttributeDefinition.builder().attributeName("year").attributeType("N").build());
attributeDefinitions.add(AttributeDefinition.builder().attributeName("title").attributeType("S").build());
ArrayList<KeySchemaElement> tableKey = new ArrayList<KeySchemaElement>();
KeySchemaElement key = KeySchemaElement.builder().attributeName("year").keyType(KeyType.HASH).build();
KeySchemaElement key2 = KeySchemaElement.builder().attributeName("title").keyType(// Sort
KeyType.RANGE).build();
// Add KeySchemaElement objects to the list.
tableKey.add(key);
tableKey.add(key2);
CreateTableRequest request = CreateTableRequest.builder().keySchema(tableKey).provisionedThroughput(ProvisionedThroughput.builder().readCapacityUnits(new Long(10)).writeCapacityUnits(new Long(10)).build()).attributeDefinitions(attributeDefinitions).tableName(tableName).build();
try {
CreateTableResponse response = ddb.createTable(request);
DescribeTableRequest tableRequest = DescribeTableRequest.builder().tableName(tableName).build();
// Wait until the Amazon DynamoDB table is created.
WaiterResponse<DescribeTableResponse> waiterResponse = dbWaiter.waitUntilTableExists(tableRequest);
waiterResponse.matched().response().ifPresent(System.out::println);
String newTable = response.tableDescription().tableName();
System.out.println("The " + newTable + " was successfully created.");
} catch (DynamoDbException e) {
System.err.println(e.getMessage());
System.exit(1);
}
}
Aggregations