2014-09-11 2 views
0

Я пытаюсь реализовать Amazon Dynamo DB в своем приложении для Android. Таблица создана с атрибутами, такими как id (строка), статус (число). Я получаю AmazonClientException как «Невозможно отменить ответ на ошибку». кто-нибудь предлагает мне.Android Amazon DynamoDB 400 Bad Request error

Вот мой код ..

try { 
      AmazonDynamoDBClient ddb = DynamoDB.getInstance(); 

       Map<String, AttributeValue> item = new HashMap<String, AttributeValue>(); 
       item.put("googleid", new AttributeValue().withS("Test")); 
       item.put("status", new AttributeValue().withN("1234")); 

       PutItemRequest putItemRequest = new PutItemRequest("android_news_push", item); 
       PutItemResult putItemResult = ddb.putItem(putItemRequest); 
    } catch (AmazonServiceException e) { 
    // TODO Auto-generated catch block 
    e.printStackTrace(); 
    } catch (AmazonClientException e) { 
    // TODO Auto-generated catch block 
    e.printStackTrace(); 
    } 

Мой Исключение:

09-11 05:58:14.473: W/System.err(1661): com.amazonaws.AmazonClientException: Unable to unmarshall error response (Unable to parse error response: '<?xml version="1.0" encoding="UTF-8"?><Error><Code>UnsignedContentSHA256NotAllowed</Code><Message>The provided 'x-amz-content-sha256' header must be a valid SHA256.</Message><RequestId>B5B29CD73F1304CE</RequestId><HostId>qqkdFlfHognQw3zs//OcdyN9GDXDd84MFyi01ep8iMfseGFkz3z+MS9etRssS76v0H+A0IyJH1M=</HostId></Error>'). Response Code: 400, Response Text: Bad Request 
09-11 05:58:14.473: W/System.err(1661):  at com.amazonaws.http.AmazonHttpClient.handleErrorResponse(Unknown Source) 
09-11 05:58:14.473: W/System.err(1661):  at com.amazonaws.http.AmazonHttpClient.executeHelper(Unknown Source) 
09-11 05:58:14.473: W/System.err(1661):  at com.amazonaws.http.AmazonHttpClient.execute(Unknown Source) 
09-11 05:58:14.473: W/System.err(1661):  at com.amazonaws.services.dynamodbv2.AmazonDynamoDBClient.invoke(Unknown Source) 
09-11 05:58:14.473: W/System.err(1661):  at com.amazonaws.services.dynamodbv2.AmazonDynamoDBClient.putItem(Unknown Source) 
09-11 05:58:14.473: W/System.err(1661):  at com.dci.magzter.SplashScreen$4.onPostExecute(SplashScreen.java:260) 
09-11 05:58:14.473: W/System.err(1661):  at com.dci.magzter.SplashScreen$4.onPostExecute(SplashScreen.java:1) 
09-11 05:58:14.473: W/System.err(1661):  at com.dci.magzter.utils.AsyncTask.finish(AsyncTask.java:640) 
09-11 05:58:14.473: W/System.err(1661):  at com.dci.magzter.utils.AsyncTask.access$0(AsyncTask.java:636) 
09-11 05:58:14.473: W/System.err(1661):  at com.dci.magzter.utils.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:653) 
09-11 05:58:14.473: W/System.err(1661):  at android.os.Handler.dispatchMessage(Handler.java:99) 
09-11 05:58:14.473: W/System.err(1661):  at android.os.Looper.loop(Looper.java:137) 
09-11 05:58:14.473: W/System.err(1661):  at android.app.ActivityThread.main(ActivityThread.java:4745) 
09-11 05:58:14.473: W/System.err(1661):  at java.lang.reflect.Method.invokeNative(Native Method) 
09-11 05:58:14.473: W/System.err(1661):  at java.lang.reflect.Method.invoke(Method.java:511) 
09-11 05:58:14.473: W/System.err(1661):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786) 
09-11 05:58:14.473: W/System.err(1661):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553) 
09-11 05:58:14.473: W/System.err(1661):  at dalvik.system.NativeStart.main(Native Method) 
09-11 05:58:14.473: W/System.err(1661): Caused by: com.amazonaws.AmazonClientException: Unable to parse error response: '<?xml version="1.0" encoding="UTF-8"?><Error><Code>UnsignedContentSHA256NotAllowed</Code><Message>The provided 'x-amz-content-sha256' header must be a valid SHA256.</Message><RequestId>B5B29CD73F1304CE</RequestId><HostId>qqkdFlfHognQw3zs//OcdyN9GDXDd84MFyi01ep8iMfseGFkz3z+MS9etRssS76v0H+A0IyJH1M=</HostId></Error>' 
09-11 05:58:14.473: W/System.err(1661):  at com.amazonaws.http.JsonErrorResponseHandler.handle(Unknown Source) 
09-11 05:58:14.473: W/System.err(1661):  at com.amazonaws.http.JsonErrorResponseHandler.handle(Unknown Source) 
09-11 05:58:14.473: W/System.err(1661):  ... 18 more 
09-11 05:58:14.473: W/System.err(1661): Caused by: com.amazonaws.util.json.JSONException: A JSONObject text must begin with '{' at 1 [character 2 line 1] 
09-11 05:58:14.473: W/System.err(1661):  at com.amazonaws.util.json.JSONTokener.syntaxError(Unknown Source) 
09-11 05:58:14.473: W/System.err(1661):  at com.amazonaws.util.json.JSONObject.<init>(Unknown Source) 
09-11 05:58:14.473: W/System.err(1661):  at com.amazonaws.util.json.JSONObject.<init>(Unknown Source) 
09-11 05:58:14.473: W/System.err(1661):  ... 20 more 

ответ

0

Похоже, у вас есть проблемы с учетными данными АМС. Проверьте правильность ваших ключей, а также проверьте, разрешает ли контроль доступа эту операцию.

Вы можете увидеть подобный вопрос here

Надеется, что это помогает ...