DynamoDB API - Amazon DynamoDB

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

DynamoDB API

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

控制层面

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

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

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

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

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

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

数据层面

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

您可以使用ParPartiQL-适用于亚马逊动态 B 的 SQL 兼容查询语言来执行这些 CRUD 操作,也可以使用 DynamoDB 的经典 CRUD API,将每个操作分离为不同的 API 调用。

一种与 PartiQL 兼容的查询语言

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

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

Classic API

创建数据

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

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

读取数据

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

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

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

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

更新数据

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

删除数据

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

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

DynamoDB Streams

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

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

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

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

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

Transactions

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

您可以使用ParPartiQL-适用于亚马逊动态 B 的 SQL 兼容查询语言来执行事务操作,也可以使用 DynamoDB 的经典 CRUD API,将每个操作分离为不同的 API 调用。

一种与 PartiQL 兼容的查询语言

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

Classic API

  • TransactWriteItems— 允许PutUpdate, 和Delete操作添加到表内和跨表的多个项目,并保证得到全有或全无结果。

  • TransactGetItems— 允许Get操作以检索一个或多个表中的多个项目。