使用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()); 
      } 

    } 

我不能让我的帐户已创建的表。你能告诉我我做错了什么吗?

+1

您使用的是哪个地区? SDK将默认为us-east-1区域,所以如果您使用的是其他区域,则需要指定它。 – JaredHatfield

+0

我已将我的帐户中的区域更改为us-east-1,然后测试了代码,但它也不起作用 – ryh12

+0

我已经使用了setRegion函数,现在它正在工作。感谢您的帮助! – ryh12

AWS的Java SDK默认为us-east-1区域。你可能没有看到任何表格,因为你在美国东部地区没有任何表格。如果您的DynamoDB表位于不同的区域,则需要指定要将SDK连接到的区域。然后你的应用程序将能够在其他区域看到这些表格。

+0

是的。我已经使用这个功能,它的工作\t \t client.setRegion(Region.getRegion(Regions.US_WEST_2)) – ryh12