📜  AWS DynamoDB – 使用项目和属性

📅  最后修改于: 2022-05-13 01:57:09.787000             🧑  作者: Mango

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请求仅在不存在具有相同主键的项目时才会成功,或者如果满足要求,则可能会阻止覆盖现有项目。