AWS DynamoDB – 使用项目和属性
AWS DynamoDB是一个 NoSQL 托管数据库,用于存储半结构化数据,即键值和文档数据。它以项目的形式存储数据。一个项目由属性组成。在 DynamoDB 中创建表时,它只需要一个主键来区分项目,并且不需要定义模式。每个项目可以有不同数量的属性。
Example 1 :
{
"Color": true,
"Director": "Christopher Nolan",
"MovieID": 1,
"Name": "Inception",
"Rating": 8.7,
"Year": 2010
}
Example 2:
{
"Color": false,
"MovieID": 99,
"Name": "Schindler's List"
}
在上面的示例中,显示了两个不同的项目。我们观察到每个项目包含不同数量的属性。一个属性MovieID应该始终存在于每个项目中,并且它的值不能在两个项目中相同,因为它是主键。
创建表:
要创建项目,首先,我们必须在 DynamoDB 中创建一个带有分区键的表。已经使用MovieID作为分区键创建了一个名为 Movies 的表。见下图:
向表中添加项目:
导航到表的项目选项卡,然后单击创建项目以将项目添加到表中。可以通过树格式或文本添加项目。它们都如下所示:
在上述项目中,一个属性MovieID将始终存在。其余属性,您可以从项目中添加或删除。
将项目写入表格:
要将项目写入表,有两种方法。我们可以通过 Amazon CLI(命令行界面)或通过 Amazon 管理控制台将项目添加到表中。要编写项目,首先创建一个表,一旦创建,只需导航到表的项目选项卡,然后单击创建项目。指定属性及其值,然后单击保存。这会将项目写入表。
欲了解更多信息,请访问。
从表中读取项目:
可以使用三种方式从表中读取项目。它们是 get-item、Query 和 Scan。查询和扫描方法用于 Amazon 管理控制台,当我们尝试使用 Amazon CLI(命令行界面)从表中读取数据时使用get-item 方法。
有关更多信息,请参阅此。
批量操作:
在批处理操作中,您可以使用PartiQL从 Dynamodb 表中写入或读取多个项目。下面给出了这两个操作:
- BatchGetItem:读取多个项目。它可以从一个或多个表中读取大约 100 个项目。
- BatchWriteItem:创建或删除项目。它可以从一个或多个表中写入或删除多达 25 个项目。
原子计数器:
要实现原子计数器,请使用UpdateItem操作。原子计数器是一个无条件递增的数字属性,不会干扰其他写入请求,即所有写入请求都按照接收到的顺序执行。每次调用UpdateItem时,数值都会增加。例如,我们可以使用原子计数器来跟踪网站的访问者。每次用户访问我们的网站时,计数器都会增加。
条件写入:
默认情况下,DynamoDB 会覆盖已在PutItem、UpdateItem 、 和DeleteItem操作请求。为了解决这个问题,DynamoDB 提供了条件写入的功能。只有满足某些条件,条件写入才会成功。例如, PutItem请求仅在不存在具有相同主键的项目时才会成功,或者如果满足要求,则可能会阻止覆盖现有项目。