我的(java)应用程序是否可以检查DynamoDB的读/写配置吞吐量?出于稳定性的原因,如果我能以编程方式获得这些数字将是有用的
我知道如果我得到一个ProvisionedThroughputExceededException
,那么我已经超出了我的限制,但是有没有办法找出之前我的读/写限制是什么?< / p>
我还发现了一些引用describing limits的文档,但这似乎与我在代码中可以使用的任何东西不相符
这是我第一次使用dynamodb所以如果这是一个根本不好的做法,请说出来!
干杯
答案 0 :(得分:3)
aws-java-sdk允许你这样做。与http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/JavaDocumentAPIWorkingWithTables.html类似,您可以执行
AmazonDynamoDB dynamoClient = new AmazonDynamoDBClient();
DescribeTableResult result = dynamoClient.describeTable("MyTable");
Long readCapacityUnits = result.getTable()
.getProvisionedThroughput().getReadCapacityUnits();
或
AmazonDynamoDB dynamoClient = new AmazonDynamoDBClient();
DynamoDB dynamoDB = new DynamoDB(dynamoClient);
Table table = dynamoDB.getTable("MyTable");
Long readCapacityUnits = table.describe()
.getProvisionedThroughput().getReadCapacityUnits();
DynamoDb
是一个更高级别的包装器,有时候API更简单,AmazonDynamoDBClient
是一个相当直接的HTTP API实现。
有关autoscaling dynamodb的更多信息,请参阅
答案 1 :(得分:2)
您想要使用AWS SDK for Java,如下所示:
AmazonDynamoDBClient client = new AmazonDynamoDBClient();
client.describeTable("tableName").getTable().getProvisionedThroughput();
答案 2 :(得分:0)
以下是用于获取表的预配置吞吐量的AWS CLI命令。
aws dynamodb describe-table --table-name <table name>