2011-12-18 4 views
2

J'utilise ces codes pour connecter SimpleDB et les données de requête. Je peux exécuter la requête dans SQL Scrap Book, et le résultat est OK. Mais quand je le lance dans Eclipse, je suis arrivé message d'erreur:à propos d'Amazon SimpleDB, Sélectionner la fonction

"12-18 22:01:57.401: I/com.amazonaws.request(402): Received error response: Status Code: 400, AWS Request ID: d68b7fcc-cd4a-7def-602c-96ad189d8fcf, AWS Error Code: NoSuchDomain, AWS Error Message: The specified domain does not exist." 

Avez-vous une idée de cela?

//1. Creating a SimpleDB Client 
AWSCredentials credentials = new BasicAWSCredentials(ACCESS_KEY_ID, SECRET_KEY); 
AmazonSimpleDBClient sdbClient = new AmazonSimpleDBClient(credentials);   

//2. Select 
String nextToken = null; 
SelectRequest selectRequest = new SelectRequest("select * from mydomain").withConsistentRead(true); 
selectRequest.setNextToken(nextToken);   
SelectResult response = sdbClient.select(selectRequest); 
nextToken = response.getNextToken(); 

Répondre

2

Vous devez spécifier le point de fin de la région du serveur avant de demander des données pour le domaine. Amazon Simple DB prend en charge 7 points de fin de région.

Région, Endpoint

"US-East(Northern Virginia)", "sdb.amazonaws.com" 
"EU(Ireland)", "sdb.eu-west-1.amazonaws.com" 
"US-West(Northern California)", "sdb.us-west-1.amazonaws.com" 
"Asia Pacific(Singapore)", "sdb.ap-southeast-1.amazonaws.com" 
"Asia Pacific(Tokyo)", "sdb.ap-northeast-1.amazonaws.com" 
"US West(Oregon)", "sdb.us-west-2.amazonaws.com" 
"South America(Sao Paulo)", "sdb.sa-east-1.amazonaws.com" 

Comment mettre fin région Point

BasicAWSCredentials basicAWSCredentials = new BasicAWSCredentials(sAccessKey, sSecretKey); 
AmazonSimpleDBClient amazonSimpleDBClient = new AmazonSimpleDBClient(basicAWSCredentials); 
amazonSimpleDBClient.setEndpoint(Endpoint); 
0

Merci homme! Je l'ai juste compris moi-même. Voici l'intégralité du code:

//1. Creating a SimpleDB Client 
AWSCredentials credentials = new BasicAWSCredentials(ACCESS_KEY, SECRET_KEY); 
AmazonSimpleDBClient sdbClient = new AmazonSimpleDBClient(credentials); 
sdbClient.setEndpoint("sdb.us-west-1.amazonaws.com"); // to define Data Center Region 

//2. Select 
String nextToken = null; 
SelectRequest selectRequest = new SelectRequest("select * from myDomain").withConsistentRead(true); 
selectRequest.setNextToken(nextToken);   
SelectResult response = sdbClient.select(selectRequest); 
nextToken = response.getNextToken();