2016-04-21 66 views
1

我在我的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

回答

0

AWS的Java SDK默認爲us-east-1區域。你可能沒有看到任何表格,因爲你在美國東部地區沒有任何表格。如果您的DynamoDB表位於不同的區域,則需要指定要將SDK連接到的區域。然後你的應用程序將能夠在其他區域看到這些表格。

+0

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

相關問題