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 资源名称(ARN)和您的应用程序可开始读取前几条流记录的位置。 -
GetShardIterator
– 返回一个分片迭代器,这是您的应用程序用来从流中检索记录的数据结构。 -
GetRecords
- 使用给定分片迭代器检索一条或多条流记录。
事务
事务 提供原子性、一致性、隔离性和持久性 (ACID),使您能够更轻松地维护应用程序中的数据正确性。
您可以使用 PartiQL – 用于 Amazon DynamoDB 的 SQL 兼容语言 来执行事务操作,也可以使用 DynamoDB 的经典 CRUD API,将每个操作分离为不同的 API 调用。
PartiQL – 一种与 SQL 兼容的查询语言
-
ExecuteTransaction
– 一种批处理操作,用于在表内和跨表对多个项目执行 CRUD 操作,并保证得到全有或全无结果。
经典 API
-
TransactWriteItems
– 一种批处理操作,用于在表内和跨表对多个项目执行Put
、Update
和Delete
操作,并保证得到全有或全无结果。 -
TransactGetItems
– 一种批处理操作,用于执行Get
操作以从一个或多个表检索多个项目。