"das wesentliche element entspricht nicht dem schema" in der Stichprobe von AWS Android SDK

Im folgenden die Anweisung von AWS Android SDK
http://docs.aws.amazon.com/mobile/sdkforandroid/developerguide/getting-started-store-query-app-data.html
aber wenn ich die mapper.save() Methode, es wirft immer

07-10 11:47:28.966: E/AndroidRuntime(2030):

com.amazonaws.AmazonServiceException: The provided key element does not

match the schema (Service: AmazonDynamoDBv2; Status Code: 400;

Error Code: ValidationException; Request ID:

hier ist meine Tabelle :

my Book Modell-code:

package com.example.qingzhong.awssample.dbresources;


import com.amazonaws.mobileconnectors.dynamodbv2.dynamodbmapper.DynamoDBAttribute;
import com.amazonaws.mobileconnectors.dynamodbv2.dynamodbmapper.DynamoDBHashKey;
import com.amazonaws.mobileconnectors.dynamodbv2.dynamodbmapper.DynamoDBIndexHashKey;
import com.amazonaws.mobileconnectors.dynamodbv2.dynamodbmapper.DynamoDBIndexRangeKey;
import com.amazonaws.mobileconnectors.dynamodbv2.dynamodbmapper.DynamoDBTable;

/**
 * Created by qingzhong on 10/7/15.
 */



@DynamoDBTable(tableName = "Books")
public class Book {
    private String title;
    private String author;
    private int price;
    private String isbn;
    private Boolean hardCover;

    @DynamoDBIndexRangeKey(attributeName = "Title")
    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    @DynamoDBIndexHashKey(attributeName = "Author")
    public String getAuthor() {
        return author;
    }

    public void setAuthor(String author) {
        this.author = author;
    }

    @DynamoDBAttribute(attributeName = "Price")
    public int getPrice() {
        return price;
    }

    public void setPrice(int price) {
        this.price = price;
    }

    @DynamoDBHashKey(attributeName = "ISBN")
    public String getIsbn() {
        return isbn;
    }

    public void setIsbn(String isbn) {
        this.isbn = isbn;
    }

    @DynamoDBAttribute(attributeName = "Hardcover")
    public Boolean getHardCover() {
        return hardCover;
    }

    public void setHardCover(Boolean hardCover) {
        this.hardCover = hardCover;
    }
}

und mein code in der MainActivity , verwenden Sie einfach den mapper.save () - Methode,nichts besonderes:

Ich weiß nicht, was schief geht, da alle benötigten Attribute Hinzugefügt werden, in der Book.class und eigentlich bin ich nach der Anweisung von AWS Mobile SDK

InformationsquelleAutor Qing | 2015-07-10

Schreibe einen Kommentar