2016-04-21 13 views
1

Ich habe eine Tabelle in dynamoDb in meinem AWS-Konto namens "test" erstellt. Ich versuche zu listAlltables in meinem Konto durch meine Zugangsdaten eingeben und mit Hilfe von Java-Code:Tabellen in AWS DynamoDb mit Java-Code erstellen

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

    } 

Ich bin nicht in der Lage, die Tabellen zu bekommen, die ich auf dem Konto angelegt habe. Kannst du mir bitte zeigen, was ich falsch mache ??

+1

Welche Region verwenden Sie? Das SDK verwendet standardmäßig die Region "us-east-1". Wenn Sie also eine andere Region verwenden, müssen Sie diese angeben. – JaredHatfield

+0

Ich habe die Region in meinem Konto zu us-east-1 geändert, dann habe ich den Code getestet, aber es funktioniert auch nicht – ryh12

+0

Ich habe die setRegion-Funktion verwendet und sie funktioniert jetzt. Danke für Ihre Hilfe! – ryh12

Antwort

0

Das Java SDK für AWS verwendet standardmäßig die Region us-east-1. Sie haben wahrscheinlich keine Tische gesehen, weil Sie keine in der Region us-east-1 hatten. Wenn sich Ihre DynamoDB-Tabellen in einer anderen Region befinden, müssen Sie angeben, in welcher Region das SDK eine Verbindung herstellen soll. Dann kann Ihre Anwendung diese Tabellen in dieser anderen Region sehen.

+0

ja. Ich habe diese Funktion verwendet und es hat funktioniert \t \t client.setRegion (Region.getRegion (Regions.US_WEST_2)) – ryh12