Amazon dynamodb DynamoDB中的非空约束

Amazon dynamodb DynamoDB中的非空约束,amazon-dynamodb,Amazon Dynamodb,我想使用DynamoDB创建表。在DyamoDB中创建模式时,不必指定所有列名,只需指定主键(散列键+排序键[可选])。现在,如果我的表确实有一些其他属性,我希望每个插入的项都有这些属性,例如,向键以外的属性添加NotNull约束,那么我如何在DynamoDB中实现它呢?在DynamoDB上没有显式可用的NotNull约束。但是,如果正在使用,则有一个功能可以为属性提供默认值 此外,DynamoDB API不允许添加具有空值(即Null或空字符串“”)的属性。API确实抛出了一个异常 换句话说,

我想使用DynamoDB创建表。在DyamoDB中创建模式时,不必指定所有列名,只需指定主键(散列键+排序键[可选])。现在,如果我的表确实有一些其他属性,我希望每个插入的项都有这些属性,例如,向键以外的属性添加NotNull约束,那么我如何在DynamoDB中实现它呢?

在DynamoDB上没有显式可用的
NotNull
约束。但是,如果正在使用,则有一个功能可以为属性提供默认值

此外,DynamoDB API不允许添加具有空值(即Null或空字符串“”)的属性。API确实抛出了一个异常

换句话说,您不需要定义像RDBMS数据库这样的约束。此外,没有替代此功能的解决方法。此条件适用于所有属性,即不能有任何值为NULL或空的属性

使用注释设置默认值的示例:-

@DynamoDBAutoGeneratedDefault("default")
@DynamoDBAttribute(attributeName = "name")  
public String getName() {
    return name;
}
com.amazonaws.services.dynamodbv2.model.AmazonDynamoDBException: 提供的AttributeValue为空,必须正好包含 支持的数据类型(服务:AmazonDynamoDBv2;状态代码:400; 错误代码:ValidationException;请求ID: 1dd8288c-7151-43d3-83d0-dbb7842d705a)