DynamoDB API - Amazon DynamoDB
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

DynamoDB API

要使用 Amazon DynamoDB,您的应用程序必须使用一些简单的 API 操作。下面汇总了这些操作(按类别组织)。

控制层面

控制层面操作可让您可以创建和管理 DynamoDB 表。还可以支持您使用依赖于表的索引、流和其他对象。

  • CreateTable – 创建新表。或者,您也可以创建一个或多个二级索引并为表启用 DynamoDB Streams。

  • DescribeTable– 返回有关表的信息,例如,表的主键架构、吞吐量设置和索引信息。

  • ListTables – 返回列表中您的所有表的名称。

  • UpdateTable – 修改表或其索引的设置、创建或删除表上的新索引或修改表的 DynamoDB Streams 设置。

  • DeleteTable – 从 DynamoDB 中删除表及其所有依赖对象。

数据层面

数据层面 操作可让您对表中的数据执行创建、读取、更新和删除(也称为 CRUD)操作。某些数据层面操作还可从二级索引读取数据。

您可以使用 PartiQL – 用于 Amazon DynamoDB 的 SQL 兼容语言 来执行这些 CRUD 操作,也可以使用 DynamoDB 的经典 CRUD API,将每个操作分离为不同的 API 调用。

PartiQL – 一种与 SQL 兼容的查询语言

  • ExecuteStatement— 从表中读取多个项目。您还可以写入或更新表的单个项目。当写入或更新单个项目时,您必须指定主键属性。

  • BatchExecuteStatement— 写入、更新或读取表中的多个项目。这比 ExecuteStatement 更有效,因为您的应用程序只需一个网络往返行程即可写入或读取项目。

经典 API

创建数据

  • PutItem - 将单个项目写入表中。您必须指定主键属性,但不必指定其他属性。

  • BatchWriteItem – 将最多 25 个项目写入到表。这比多次调用 PutItem 更有效,因为您的应用程序只需一个网络往返行程即可写入项目。您还可以使用 BatchWriteItem 来从一个或多个表中删除多个项目。

读取数据

  • GetItem - 从表中检索单个项目。您必须为所需的项目指定主键。您可以检索整个项目,也可以仅检索其属性的子集。

  • BatchGetItem – 从一个或多个表中检索最多 100 个项目。这比多次调用 GetItem 更有效,因为您的应用程序只需一个网络往返行程即可读取项目。

  • Query - 检索具有特定分区键的所有项目。您必须指定分区键值。您可以检索整个项目,也可以仅检索其属性的子集。或者,您也可以对排序键值应用条件,以便只检索具有相同分区键的数据子集。您可以对表使用此操作,前提是该表同时具有分区键和排序键。您还可以对索引使用此操作,前提是该索引同时具有分区键和排序键。

  • Scan - 检索指定表或索引中的所有项目。您可以检索整个项目,也可以仅检索其属性的子集。或者,您也可以应用筛选条件以仅返回您感兴趣的值并放弃剩余的值。

更新数据

  • UpdateItem - 修改项目中的一个或多个属性。您必须为要修改的项目指定主键。您可以添加新属性并修改或删除现有属性。您还可以执行有条件更新,以便更新仅在满足用户定义的条件时成功。或者,您也可以实施一个原子计数器,该计数器可在不干预其他写入请求的情况下递增或递减数字属性。

删除数据

  • DeleteItem - 从表中删除单个项目。您必须为要删除的项目指定主键。

  • BatchWriteItem – 从一个或多个表中删除最多 25 个项目。这比多次调用 DeleteItem 更有效,因为您的应用程序只需一个网络往返行程即可删除项目。您也可以使用 BatchWriteItem 来向一个或多个表添加多个项目。

    注意

    您可以使用 BatchWriteItem 创建数据和删除数据。

DynamoDB Streams

DynamoDB Streams 操作可让您对表启用或禁用流,并能允许对包含在流中的数据修改记录的访问。

  • ListStreams - 返回您的所有流的列表,或仅返回特定表的流。

  • DescribeStream - 返回有关流的信息,例如,流的 Amazon Resource Name (ARN) 和您的应用程序可开始读取前几条流记录的位置。

  • GetShardIterator – 返回一个分片迭代器,这是您的应用程序用来从流中检索记录的数据结构。

  • GetRecords - 使用给定分片迭代器检索一条或多条流记录。

事务

事务 提供原子性、一致性、隔离性和持久性 (ACID),使您能够更轻松地维护应用程序中的数据正确性。

您可以使用 PartiQL – 用于 Amazon DynamoDB 的 SQL 兼容语言 来执行事务操作,也可以使用 DynamoDB 的经典 CRUD API,将每个操作分离为不同的 API 调用。

PartiQL – 一种与 SQL 兼容的查询语言

  • ExecuteTransaction – 一种批处理操作,用于在表内和跨表对多个项目执行 CRUD 操作,并保证得到全有或全无结果。

经典 API

  • TransactWriteItems – 一种批处理操作,用于在表内和跨表对多个项目执行 PutUpdateDelete 操作,并保证得到全有或全无结果。

  • TransactGetItems – 一种批处理操作,用于执行 Get 操作以从一个或多个表检索多个项目。