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

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

DynamoDB API

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

注意

有关 API 操作的完整列表,请参阅 Amazon Athena 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 更有效,因为您的应用程序只需一个网络往返行程即可写入项目。

读取数据

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

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

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

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

更新数据

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

删除数据

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

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

    注意

    您可以使用 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 操作,并保证 all-or-nothing 结果。

经典 API

  • TransactWriteItems— 一种批量操作 PutUpdate,允许对表内和跨表的多个项目进行、和Delete操作, all-or-nothing 从而保证结果。

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