使用java代码获取在AWS DynamoDb中创建的表
问题描述:
我在我的AWS账户dynamoDb中创建了一个名为'test'的表。我想listAlltables在我的帐户中输入我的凭据和使用Java代码:使用java代码获取在AWS DynamoDb中创建的表
static void listAllTables() {
static BasicAWSCredentials awsCreds = new BasicAWSCredentials("AWSAccessKeyId", "AWSSecretKey");
static DynamoDB dynamoDB = new DynamoDB(new AmazonDynamoDBClient(awsCreds));
TableCollection<ListTablesResult> tables = dynamoDB.listTables();
Iterator<Table> iterator = tables.iterator();
System.out.println("get tables names");
while (iterator.hasNext()) {
Table table = iterator.next();
System.out.println(table.getTableName());
}
}
我不能让我的帐户已创建的表。你能告诉我我做错了什么吗?
答
AWS的Java SDK默认为us-east-1区域。你可能没有看到任何表格,因为你在美国东部地区没有任何表格。如果您的DynamoDB表位于不同的区域,则需要指定要将SDK连接到的区域。然后你的应用程序将能够在其他区域看到这些表格。
+0
是的。我已经使用这个功能,它的工作\t \t client.setRegion(Region.getRegion(Regions.US_WEST_2)) – ryh12
您使用的是哪个地区? SDK将默认为us-east-1区域,所以如果您使用的是其他区域,则需要指定它。 – JaredHatfield
我已将我的帐户中的区域更改为us-east-1,然后测试了代码,但它也不起作用 – ryh12
我已经使用了setRegion函数,现在它正在工作。感谢您的帮助! – ryh12