2014-07-25 2 views
-1

J'essaie d'accéder à un enregistrement particulier à partir d'une table avec le nom de table nomTable et la chaîne de clé de hachage stringValue. Ce qui suit est mon code:GetItemRequest Erreur Dynamodb

GetItemRequest getItemRequest = new GetItemRequest().withTableName(tableName.toString()) 
    .withAttributesToGet(Arrays.asList("attr1","attr2","attr3","attr4")); 

getItemRequest.addKeyEntry(new String("attrName"), new AttributeValue().withS(stringValue)); 

Je reçois cette erreur dans eclipse, et je ne comprends pas pourquoi.

La méthode addKeyEntry (String, AttributeValue) dans le type GetItemRequest est pas applicable pour les arguments (String, AttributeValue)

Merci pour votre aide

Répondre

1

Compile pour moi avec java 1.7 et dernière aws-sdk (détails ci-dessous)

Réponse possible: Peut-être que vous avez un jar aws-sdk plus ancien? (note: j'ai utilisé un jar ~ vraiment ~ vieux - aws-java-sdk-1.3.19.jar - et j'ai reçu un message d'erreur différent du vôtre).

Détails:

$ java -version 
java version "1.7.0_51" 
Java(TM) SE Runtime Environment (build 1.7.0_51-b13) 
Java HotSpot(TM) 64-Bit Server VM (build 24.51-b03, mixed mode) 
$ sha1sum lib/aws-java-sdk-1.8.6.jar 
da97b2bd9d450c94300477008c750fbed1f56846 lib/aws-java-sdk-1.8.6.jar 

$ cat src/sw/Question.java 
package sw; 

import com.amazonaws.services.dynamodbv2.model.GetItemRequest; 
import com.amazonaws.services.dynamodbv2.model.AttributeValue; 

import java.util.*; 

class Question 
{ 
    public static void main(String[] args) 
    { 
     final String USAGE = "USAGE: java "+Question.class.getName()+" ## no required args"; 
     try 
     { 
      //question: 
      final String tableName = "some-table-name"; 
      final String stringValue ="some-string-value"; 
      GetItemRequest getItemRequest = new GetItemRequest().withTableName(tableName.toString()) 
      .withAttributesToGet(Arrays.asList("attr1","attr2","attr3","attr4")); 
      getItemRequest.addKeyEntry(new String("attrName"), new AttributeValue().withS(stringValue)); 
      System.exit(0); 
     } 
     catch (Exception e) 
     { 
      e.printStackTrace(); 
      System.err.println(USAGE); 
      System.exit(1); 
     } 
    } 
} 

$ javac -cp lib/aws-java-sdk-1.8.6.jar src/sw/Question.java 
$ echo $? 
0 
$ 
+0

Salut aishpr, était le problème en fait une ancienne version aws-sdk? De plus, je pensais avoir vu une question distincte de vous sur un problème fonctionnel avec dynamodb get-item, mais je ne le trouve pas. Si c'est toujours un problème pour vous, faites-moi savoir où se trouve la question et je peux y jeter un coup d'œil. – 0xb304