Amazon DynamoDB
开发人员指南 (API Version 2012-08-10)
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。点 击 Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.

访问数据库

您的应用程序必须先经过身份验证 (以确保应用程序能够使用数据库) 并已授权 (以使应用程序只能执行它有权执行的操作),然后才能访问数据库。

下图显示了客户端与关系数据库和 DynamoDB 之间的交互。

 与关系数据库和 NoSQL 数据库的交互

下表包含有关客户端交互任务的更多详细信息:

性能 关系数据库管理系统 (RDBMS) Amazon DynamoDB
用于访问数据库的工具

大多数关系数据库提供了命令行界面 (CLI),以便您能够输入临时 SQL 语句并立即查看结果。

大多数情况下,您将编写应用程序代码。您还可以使用 AWS 管理控制台或 AWS Command Line Interface (AWS CLI) 向 DynamoDB 发送临时请求并查看结果。
连接到数据库 应用程序会建立和维护与数据库的网络连接。当应用程序完成时,它将终止连接。 DynamoDB 是一项 Web 服务,与其进行的交互是无状态的。应用程序不需要维护持久性网络连接。相反,与 DynamoDB 的交互是通过 HTTP(S) 请求和响应进行的。
身份验证 应用程序在经过身份验证之前无法连接到数据库。RDBMS 可自行执行身份验证,也可以将该任务分载到主机操作系统或目录服务。 对 DynamoDB 发出的每个请求均必须附有一个加密签名,此签名将对特殊请求进行身份验证。AWS 开发工具包提供了创建签名和签署请求所需的所有逻辑。有关更多信息,请参阅 AWS General Reference 中的签署 AWS API 请求
授权 应用程序只能执行自身获得授权的操作。数据库管理员或应用程序所有者可以使用 SQL GRANTREVOKE 语句来控制对数据库对象 (如表) 、数据 (如表中的行) 或发出某些 SQL 语句的功能的访问权。 在 DynamoDB 中,授权由 AWS Identity and Access Management (IAM) 处理。您可以编写一个 IAM 策略来授予 DynamoDB 资源 (如表) 的权限,然后允许 IAM 用户和角色使用此策略。IAM 还提供对 DynamoDB 表中的单个数据项的精细访问控制。有关更多信息,请参阅 Amazon DynamoDB 的身份验证和访问控制
发送请求 应用程序为要执行的每个数据库操作发出一个 SQL 语句。收到 SQL 语句后,RDBMS 将检查其语法,创建执行操作的计划,然后执行该计划。 应用程序将 HTTP(S) 请求发送到 DynamoDB。该请求包含要执行的 DynamoDB 操作的名称和参数。DynamoDB 将立即执行请求。
接收响应 RDBMS 返回来自 SQL 语句的结构。如果出错,RDBMS 将返回错误状态和消息。 DynamoDB 返回一个包含操作结果的 HTTP(S) 响应。如果出错,DynamoDB 将返回 HTTP 错误状态和消息。