There are more AWS SDK examples available in the AWS Doc SDK Examples
The following code examples show how to update a table's warm throughput setting.
- SDK for Java 2.x
-
Update warm throughput setting on an existing DynamoDB table using AWS SDK for Java 2.x.
import software.amazon.awssdk.services.dynamodb.DynamoDbClient; import software.amazon.awssdk.services.dynamodb.model.DynamoDbException; import software.amazon.awssdk.services.dynamodb.model.GlobalSecondaryIndexUpdate; import software.amazon.awssdk.services.dynamodb.model.UpdateGlobalSecondaryIndexAction; import software.amazon.awssdk.services.dynamodb.model.UpdateTableRequest; import software.amazon.awssdk.services.dynamodb.model.WarmThroughput; public static WarmThroughput buildWarmThroughput(final Long readUnitsPerSecond, final Long writeUnitsPerSecond) { return WarmThroughput.builder() .readUnitsPerSecond(readUnitsPerSecond) .writeUnitsPerSecond(writeUnitsPerSecond) .build(); } /** * Updates a DynamoDB table with warm throughput settings for both the table and a global secondary index. * * @param ddb The DynamoDB client * @param tableName The name of the table to update * @param tableReadUnitsPerSecond Read units per second for the table * @param tableWriteUnitsPerSecond Write units per second for the table * @param globalSecondaryIndexName The name of the global secondary index to update * @param globalSecondaryIndexReadUnitsPerSecond Read units per second for the GSI * @param globalSecondaryIndexWriteUnitsPerSecond Write units per second for the GSI */ public static void updateDynamoDBTable( final DynamoDbClient ddb, final String tableName, final Long tableReadUnitsPerSecond, final Long tableWriteUnitsPerSecond, final String globalSecondaryIndexName, final Long globalSecondaryIndexReadUnitsPerSecond, final Long globalSecondaryIndexWriteUnitsPerSecond) { final WarmThroughput tableWarmThroughput = buildWarmThroughput(tableReadUnitsPerSecond, tableWriteUnitsPerSecond); final WarmThroughput gsiWarmThroughput = buildWarmThroughput(globalSecondaryIndexReadUnitsPerSecond, globalSecondaryIndexWriteUnitsPerSecond); final GlobalSecondaryIndexUpdate globalSecondaryIndexUpdate = GlobalSecondaryIndexUpdate.builder() .update(UpdateGlobalSecondaryIndexAction.builder() .indexName(globalSecondaryIndexName) .warmThroughput(gsiWarmThroughput) .build()) .build(); final UpdateTableRequest request = UpdateTableRequest.builder() .tableName(tableName) .globalSecondaryIndexUpdates(globalSecondaryIndexUpdate) .warmThroughput(tableWarmThroughput) .build(); try { ddb.updateTable(request); } catch (DynamoDbException e) { System.err.println(e.getMessage()); throw e; } System.out.println(SUCCESS_MESSAGE); }
-
For API details, see UpdateTable in AWS SDK for Java 2.x API Reference.
-