适用于 DynamoDB 的备忘单
本备忘单提供有关使用 Amazon DynamoDB 及其各种 AWS SDK 的快速参考。
初始设置
获取 AWS 访问密钥以编程方式访问 DynamoDB。
另请参见:
SDK 或 CLI
注意
在 Windows 上使用 AWS CLI 时,引号之外的反斜杠 (\) 被视为回车。另外,您必须转义其他引号内的任何引号和大括号。有关示例,请参阅下一节中“创建表”中的 Windows 选项卡。
另请参见:
基本操作
本节提供基本 DynamoDB 任务的代码。有关这些任务的更多信息,请参阅 DynamoDB 入门和 AWS SDK。
创建表
在表中写入项目
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。
有关项目大小、属性和表达式参数的更多信息,请参阅服务配额。