是否可以检查DynamoDB的预配置吞吐量?

时间:2016-05-25 15:11:57

标签: java amazon-web-services amazon-dynamodb

我的(java)应用程序是否可以检查DynamoDB的读/写配置吞吐量?出于稳定性的原因,如果我能以编程方式获得这些数字将是有用的

我知道如果我得到一个ProvisionedThroughputExceededException,那么我已经超出了我的限制,但是有没有办法找出之前我的读/写限制是什么?< / p>

我还发现了一些引用describing limits的文档,但这似乎与我在代码中可以使用的任何东西不相符

这是我第一次使用dynamodb所以如果这是一个根本不好的做法,请说出来!

干杯

3 个答案:

答案 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的更多信息,请参阅

How to auto scale Amazon DynamoDB throughput?

答案 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>