使用AWS DynamoDB时无法映射实体

ngu*_*huc 4 mapping entity amazon-web-services

我从dynamoDB开始.我使用annotion mapping enity跟随:

@DynamoDBTable(tableName = "ProductCatalogz")
public static class Book {
    private int id;+
    private String title;+
    private String ISBN;+
    private Set<String> bookAuthors;+

    // private DimensionType dimensionType;

    @DynamoDBHashKey(attributeName = "Id")
    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

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

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

    @DynamoDBAttribute(attributeName = "ISBN")
    public String getISBN() {
        return ISBN;
    }

    public void setISBN(String ISBN) {
        this.ISBN = ISBN;
    }
}
Run Code Online (Sandbox Code Playgroud)

public static void main(String[] args) throws IOException {
    AWSCredentials credentials = new PropertiesCredentials(
     Tester2.class.getResourceAsStream("/AwsCredentials.properties"));

     client = new AmazonDynamoDBClient(credentials);
     Region usWest2 = Region.getRegion(Regions.US_EAST_1);
     client.setRegion(usWest2);

     Book book = new Book();
     book.setId(1);
     book.setTitle("Book 502");
     book.setISBN("5555555555555");
     book.setBookAuthors(new HashSet<String>(Arrays.asList("Author1",
         "Author2")));
     // book.setDimensions(dimType);

     DynamoDBMapper mapper = new DynamoDBMapper(client);
     mapper.save(book);
}
Run Code Online (Sandbox Code Playgroud)

但是当我运行此错误时:

Exception in thread "main" ResourceNotFoundException: Status Code: 400, AWS Service: AmazonDynamoDBv2, AWS Request ID: NSG3K0BQOBCPNQONE8, AWS Error Code: ResourceNotFoundException, AWS Error Message: Requested resource not found
at com.amazonaws.http.AmazonHttpClient.handleErrorResponse(AmazonHttpClient.java:644)
at com.amazonaws.http.AmazonHttpClient.executeHelper(AmazonHttpClient.java:338)
at com.amazonaws.http.AmazonHttpClient.execute(AmazonHttpClient.java:190)
at com.amazonaws.services.dynamodbv2.AmazonDynamoDBClient.invoke(AmazonDynamoDBClient.java:1245)
at com.amazonaws.services.dynamodbv2.AmazonDynamoDBClient.updateItem(AmazonDynamoDBClient.java:1026)
at com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBMapper.save(DynamoDBMapper.java:636)
at com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBMapper.save(DynamoDBMapper.java:483)
at test.Tester2.main(Tester2.java:47)
Run Code Online (Sandbox Code Playgroud)

请帮我

yeg*_*256 9

该消息Requested resource not found表示找不到Dynamo DB表.您应该首先通过AWS控制台,API或CLI创建它.