适用于 DynamoDB 的备忘单 - Amazon DynamoDB

适用于 DynamoDB 的备忘单

本备忘单提供有关使用 Amazon DynamoDB 及其各种 AWS SDK 的快速参考。

初始设置

另请参见:

SDK 或 CLI

选择您的首选 SDK,或设置 AWS CLI

注意

在 Windows 上使用 AWS CLI 时,引号之外的反斜杠 (\) 被视为回车。另外,您必须转义其他引号内的任何引号和大括号。有关示例,请参阅下一节中“创建表”中的 Windows 选项卡。

另请参见:

基本操作

本节提供基本 DynamoDB 任务的代码。有关这些任务的更多信息,请参阅 DynamoDB 入门和 AWS SDK

创建表

Default
aws dynamodb create-table \ --table-name Music \ --attribute-definitions \ AttributeName=Artist,AttributeType=S \ AttributeName=SongTitle,AttributeType=S \ --key-schema \ AttributeName=Artist,KeyType=HASH \ AttributeName=SongTitle,KeyType=RANGE \ --provisioned-throughput \ ReadCapacityUnits=10,WriteCapacityUnits=5
Windows
aws dynamodb create-table ^ --table-name Music ^ --attribute-definitions ^ AttributeName=Artist,AttributeType=S ^ AttributeName=SongTitle,AttributeType=S ^ --key-schema ^ AttributeName=Artist,KeyType=HASH ^ AttributeName=SongTitle,KeyType=RANGE ^ --provisioned-throughput ^ ReadCapacityUnits=10,WriteCapacityUnits=5

在表中写入项目

aws dynamodb put-item \ --table-name Music \ --item file://item.json

从表中读取项目

aws dynamodb get-item \ --table-name Music \ --item file://item.json

从表中删除项目

aws dynamodb delete-item --table-name Music --key file://key.json

查询表

aws dynamodb query --table-name Music --key-condition-expression "ArtistName=:Artist and SongName=:Songtitle"

删除表

aws dynamodb delete-table --table-name Music

列出表名

aws dynamodb list-tables

命名规则

  • 所有名称都必须使用 UTF-8 进行编码,并且区分大小写。

  • 表名称和索引名称的长度必须介于 3 到 255 个字符之间,而且只能包含以下字符:

    • a-z

    • A-Z

    • 0-9

    • _(下划线)

    • -(短划线)

    • .(圆点)

  • 属性名称的长度必须至少为 1 个字符,但大小小于 64KB。

有关更多信息,请参阅命名规则

服务配额基础知识

读取和写入单位

  • 读取容量单位 (RCU) – 对于 4KB 及以下数据量的项目,每秒一次强一致性读取,或每秒两次最终一致性读取。

  • 写入容量单位 (WCU) – 对于 1KB 及以下数据量的项目,每秒一次写入。

表限制

  • 表限制 – 表的大小实际上没有限制。表的项目数和字节数是无限制的。

  • 表数 – 对于任何 AWS 账户,每个 AWS 区域的初始配额为 2,500 个表。

  • 查询和扫描的页面大小限制 – 每个查询或扫描的每页大小限制为 1MB。如果您在一个表上的查询参数或扫描操作产生的数据超过 1MB,DynamoDB 将返回初始匹配项。它还返回一个 LastEvaluatedKey 属性,可用于阅读下一页的新请求中。

索引

  • 本地二级索引 (LSI) - 您最多可以定义五个本地二级索引。当索引必须与基表存在强一致性时,LSI 相当有用。

  • 全局二级索引 (GSI) – 每个表默认具有 20 个全局二级索引配额。

  • 每个表的投影二级索引属性 – 您最多可将总共 100 个属性投影到一个表的所有本地和全局二级索引,此限制只适用于用户指定的投影属性。

分区键

  • 分区键值的最小长度为 1 个字节,最大长度为 2048 个字节。

  • 表和二级索引的不同分区键值的数量没有实际限制。

  • 排序键值的最小长度为 1 个字节。最大长度为 1024 个字节。

  • 一般情况下,每个分区键值的不同排序键值的数量没有实际限制。具有二级索引的表则例外。

有关二级索引、分区键设计和排序键设计的更多信息,请参阅最佳实践

常用数据类型的限制

  • 字符串 – 字符串的长度受到项目大小最多为 400KB 的约束。字符串是使用 UTF-8 二进制编码的 Unicode。

  • 数值 – 数值可具有最多 38 位精度,并且可以是正数、负数或零。

  • 二进制 – 二进制的长度受到项目大小最多为 400KB 的约束。使用二进制属性的应用程序必须先用 Base64 格式对数据进行编码,然后才能将数据发送至 DynamoDB。

有关受支持的数据类型的完整列表,请参阅数据类型。有关更多信息,请参阅服务配额

项目、属性和表达式参数

DynamoDB 中的项目大小最多为 400KB,包括属性名称二进制长度加上属性值二进制长度,二者均为 UTF-8 长度。属性名称也包含在此大小限制之内。

列表、映射或集中值的数量没有限制,只要包含值的项目大小不超过 400KB 的限制即可。

关于表达式参数,任何表达式字符串的最大长度为 4KB。

有关项目大小、属性和表达式参数的更多信息,请参阅服务配额

更多信息