标签: dynamodb-mapper

DynamoDBMapper 和 DynamoDB 表的表之间有什么区别

在 AWS DynamoDB 中,有两个选项可用于对表执行 CRUD 操作。

DynamoDBMapper:. com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBMapper;

    AmazonDynamoDB dbClient = AmazonDynamoDBAsyncClientBuilder.standard().withCredentials(creds)
            .withRegion("us-east-1").build();
    // creds is AWSCredentialsProvider

    DynamoDBMapper mapper = new DynamoDBMapper(dbClient);
    mapper.save(item);
Run Code Online (Sandbox Code Playgroud)

桌子: com.amazonaws.services.dynamodbv2.document.Table;

static DynamoDB dynamoDB =new DynamoDB(dbClient);
Table table = dynamoDB.getTable("TABLE_NAME");
Item item =new Item().withPrimaryKey("","")
        .withString("":, "");
table.putItem(item);
Run Code Online (Sandbox Code Playgroud)

两者似乎都执行相同的操作。

DynamoDBMapperTable之上的一层吗?如果是的话,使用这些的区别是什么?

amazon-web-services amazon-dynamodb aws-java-sdk-2.x aws-java-sdk-dynamodb dynamodb-mapper

5
推荐指数
1
解决办法
9470
查看次数

包含多种 Java 类型的表上的 DynamoDBMapper

我有一个 DynamoDB 表,其中包含不止一种类型的逻辑实体。我的表存储“员工”和“组织”,并在两者之间创建多对多关系。

我正在努力解决如何使用 DynamoDBMapper 对实体和表进行建模。特别是在尝试编写将返回员工和组织的查询时。

在我的 Java 代码中,我首先使用两个类来表示这些实体。

员工.java

@DynamoDBTable(tableName = "workplaces")
public class Employee() {
  @DynamoDBHashKey(attributeName = "pk")
  public String employeeId;

  @DynamoDBRangeKey(attributeName = "sk")
  public String sortKey

  // Other attributes specific to employees, as well as getters and setters
}
Run Code Online (Sandbox Code Playgroud)

和 Organization.java:

@DynamoDBTable(tableName = "workplaces")
public class Organization() {
  @DynamoDBHashKey(attributeName = "pk")
  public String organizationId;

  @DynamoDBRangeKey(attributeName = "sk")
  public String sortKey

  // Other attributes specific to organizations, as well as getters and setters
}
Run Code Online (Sandbox Code Playgroud)

我的查询访问模式之一是“检索组织的详细信息及其所有员工”。我设计的表架构允许我在单个查询中检索所有这些项目。

我正在努力解决如何使用 DynamoDbMapper 在 …

java amazon-dynamodb dynamodb-queries dynamodb-mapper

2
推荐指数
1
解决办法
1890
查看次数