命名规则和数据类型
来源:互联网 发布:matlab 将矩阵归一化 编辑:程序博客网 时间:2024/06/05 02:01
- 命名规则
DynamoDB 中的表、属性和其他对象必须具有名称。名称应该简明扼要 – 例如,Products、Books 和 Authors 之类的名称是都是不言而喻的。
下面是 DynamoDB 的命名规则:
1. 所有名称都必须使用 UTF-8 进行编码,并且区分大小写。
2. 表名称和索引名称的长度必须介于 3 到 255 个字符之间,而且只能包含以下字符:
①a-z
②A-Z
③0-9
④_ (下划线)
⑤- (短划线)
⑥. (圆点)
3. 属性名称的长度必须介于 1 到 255 个字符之间 - 数据类型
- DynamoDB 对表中的属性支持很多不同的数据类型。可按以下方式为属性分类:
①标量类型 - 标量类型可准确地表示一个值。标量类型包括数字、字符串、二进制、布尔值和 null。
②文档类型 - 文档类型可表示具有嵌套属性的复杂结构 - 例如您将在 JSON 文档中找到的结构。文档类型包括列表和映射。
③集类型 - 集类型可表示多个标量值。集类型包括字符串集、数字集和二进制集。 - 分类的分别解释
①标量类型:包括数字、字符串、二进制、布尔值和 null。
②字符串:字符串是使用 UTF-8 二进制编码的 Unicode。字符串的长度必须大于零且受限于最大 DynamoDB 项目大小 400 KB。如果您将主键属性定义为字符串类型属性,以下附加限制将适用:对于简单的主键,第一个属性值 (分区键) 的最大长度为 2048 字节。对于复合主键,第二个属性值 (排序键) 的最大长度为 1024 字节。
③数字:可为正数、负数或零。数字最多可精确到 38 位。超过此位数将导致异常。在 DynamoDB 中,数字以可变长度形式表示。系统会删减开头和结尾的 0。所有数字将作为字符串通过网络发送到 DynamoDB,以最大程度地提高不同语言和库之间的兼容性。但是,DynamoDB 会将它们视为数字类型属性以方便数学运算。如果数字精度十分重要,则应使用从数字类型转换的字符串将数字传递给 DynamoDB。
④二进制:二进制类型属性可以存储任意二进制数据,如压缩文本、加密数据或图像。DynamoDB 会在比较二进制值时将二进制数据的每个字节视为无符号。二进制属性的长度必须大于零且受限于最大 DynamoDB 项目大小 400 KB。如果您将主键属性定义为二进制类型属性,以下附加限制将适用:对于简单的主键,第一个属性值 (分区键) 的最大长度为 2048 字节。对于复合主键,第二个属性值 (排序键) 的最大长度为 1024 字节。在将二进制值发送到 DynamoDB 之前,您的应用程序必须采用 Base64 编码格式对其进行编码。收到这些值后,DynamoDB 会将数据解码为无符号字节数组,将其用作二进制属性的长度。
⑤布尔值:布尔类型属性可以存储 true 或 false。
⑥空:空代表属性具有未知或未定义状态。
⑦文档类型:文档类型包括列表和映射。这些数据类型可以互相嵌套,用来表示深度最多为 32 层的复杂数据结构。只要包含值的项目大小在 DynamoDB 项目大小限制 (400 KB) 内,列表或映射中值的数量就没有限制。属性值不能是空字符串或空集 (字符串集、数字集或二进制集),但可以是空列表和映射。
⑧列表:列表类型属性可存储值的有序集合。列表用方括号括起:[ … ]。列表类似于 JSON 数组。列表元素中可以存储的数据类型没有限制,列表元素中的元素也不一定为相同类型。
⑨映射:映射类型属性可以存储名称/值对的无序集合。映射用大括号括起:{ … }。映射类似于 JSON 对象。映射元素中可以存储的数据类型没有限制,映射中的元素也不一定为相同类型。
映射非常适合用来将 JSON 文档存储在 DynamoDB 中。以下示例显示了一个映射,该映射包含一个字符串、一个数字和一个含有另一个映射的嵌套列表。
- DynamoDB 对表中的属性支持很多不同的数据类型。可按以下方式为属性分类:
{ Day: "Monday", UnreadEmails: 42, ItemsOnMyDesk: [ "Coffee Cup", "Telephone", { Pens: { Quantity : 3}, Pencils: { Quantity : 2}, Erasers: { Quantity : 1} } ]}
⑩集:DynamoDB 支持表示数字、字符串或二进制值集的类型。集中的所有元素必须为相同类型。例如,数字集类型的属性只能包含数字,字符串集只能包含字符串,依此类推。只要包含值的项目大小在 DynamoDB 项目大小限制 (400 KB) 内,集中的值的数量就没有限制。
集中的每个值必须是唯一的。集中的值的顺序不会保留;因此,您的应用程序不能依赖集中的元素的任何特定顺序。最后,DynamoDB 不支持空集。
以下示例显示了一个字符串集、一个数字集和一个二进制集:
["Black", "Green" ,"Red"][42.2, -19, 7.5, 3.14]["U3Vubnk=", "UmFpbnk=", "U25vd3k="]
阅读全文
0 0
- 命名规则和数据类型
- java命名规则和数据类型
- JavaScript的数据类型和命名规则
- C#数据类型命名规则
- Java学习笔记(基本数据类型和变量命名规则)
- 基本数据类型与命名规则
- 变量、数据类型以及命名规则
- OC变量命名规则、数据类型
- 变量的命名规则,数据类型
- 命名规则及数据类型小结
- C#中常用的数据类型命名规则
- PFC的数据类型及命名规则
- PFC的数据类型及命名规则
- c语言数据类型及命名规则
- JAVA命名规则与基本数据类型
- Oracle 的表的管理----表名和列的命名规则和数据类型
- java 命名和数据类型
- 【JAVA学习笔记】Day 1.JAVA基本数据类型和变量命名规则
- 第1章 使用gradle命令行
- 51nod 1478 括号序列的最长合法子段 (括号匹配)
- 建材行业免费发布信息平台大全!
- matmul
- redis集群搭建
- 命名规则和数据类型
- [BZOJ2303]-[Apio2011]方格染色-并查集+题目性质
- Android Studio出现Failed to open zip file问题的解决方法
- 原生js 操作dom
- 第七章:函数、第八章:数组
- tracert命令使用
- [bzoj4176]Lucas的数论
- 一步步搭建Retrofit+RxJava+MVP网络请求框架(一)
- 遍历list时删除元素的正确做法