DynamoDB:获取表描述为空

时间:2016-12-04 06:44:18

标签: amazon-web-services amazon-dynamodb

我需要查询DynamoDB。

目前我已经制作了这段代码:

AWSCredentials creds = new DefaultAWSCredentialsProviderChain().getCredentials();

AmazonDynamoDBClient client = new AmazonDynamoDBClient(creds);
client.withRegion(Regions.US_WEST_2);   

DynamoDB dynamoDB = new DynamoDB(new AmazonDynamoDBClient(creds));

Table table = dynamoDB.getTable("dev");

QuerySpec spec = new QuerySpec().withKeyConditionExpression("tableKey = :none.json");

ItemCollection<QueryOutcome> items = table.query(spec);

System.out.println(table);

table的返回值为:{dev: null},表示该描述为空。

重要的是,当我使用AWS CLI使用此命令时:aws dynamodb list-tables我得到了所有表的结果,所以如果我也对我的代码进行相同的操作{{1正在检索空列表。

有什么我做错了吗? 在使用DDB API之前,是否需要定义更多凭据?

1 个答案:

答案 0 :(得分:1)

我遇到了同样的问题,来到这里寻找解决方案。如 getDescription 的 javadoc 中所述

<块引用>

返回表描述;如果表描述有,则为 null 尚未通过 {@link #describe()} 进行描述。没有网络电话。

最初的描述设置为空。在第一次调用 describe() 之后,进行网络调用,描述被设置,之后可以使用 getDescription。