util.dynamodb 中的 dynamoDB 助手 - Amazon AppSync
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

util.dynamodb 中的 dynamoDB 助手

util.dynamodb包含可以更轻松地向 Amazon DynamoDB 写入和读取数据的辅助方法,例如自动类型映射和格式化。

到 DynamoDB

util.dynamodb.toDynamoDB(Object)

DynamoDB 的通用对象转换工具,用于将输入对象转换为适当的 DynamoDB 表示形式。表示某些类型的方式是自主的:例如,使用列表 ("L") 而不使用集 ("SS", "NS", "BS")。这将返回一个描述 DynamoDB 属性值的对象。

字符串示例

Input: util.dynamodb.toDynamoDB("foo") Output: { "S" : "foo" }

数字示例

Input: util.dynamodb.toDynamoDB(12345) Output: { "N" : 12345 }

布尔示例

Input: util.dynamodb.toDynamoDB(true) Output: { "BOOL" : true }

列表示例

Input: util.dynamodb.toDynamoDB([ "foo", 123, { "bar" : "baz" } ]) Output: { "L" : [ { "S" : "foo" }, { "N" : 123 }, { "M" : { "bar" : { "S" : "baz" } } } ] }

地图示例

Input: util.dynamodb.toDynamoDB({ "foo": "bar", "baz" : 1234, "beep": [ "boop"] }) Output: { "M" : { "foo" : { "S" : "bar" }, "baz" : { "N" : 1234 }, "beep" : { "L" : [ { "S" : "boop" } ] } } }

toString 实用工具

util.dynamodb.toString(String)

将输入字符串转换为 DynamoDB 字符串格式。这将返回一个描述 DynamoDB 属性值的对象。

Input: util.dynamodb.toString("foo") Output: { "S" : "foo" }
util.dynamodb.toStringSet(List<String>)

将包含字符串的列表转换为 DynamoDB 字符串集格式。这将返回一个描述 DynamoDB 属性值的对象。

Input: util.dynamodb.toStringSet([ "foo", "bar", "baz" ]) Output: { "SS" : [ "foo", "bar", "baz" ] }

tonNumber 实用工具

util.dynamodb.toNumber(Number)

将数字转换为 DynamoDB 数字格式。这将返回一个描述 DynamoDB 属性值的对象。

Input: util.dynamodb.toNumber(12345) Output: { "N" : 12345 }
util.dynamodb.toNumberSet(List<Number>)

将数字列表转换为 DynamoDB 数字集格式。这将返回一个描述 DynamoDB 属性值的对象。

Input: util.dynamodb.toNumberSet([ 1, 23, 4.56 ]) Output: { "NS" : [ 1, 23, 4.56 ] }

toBinary 实用工具

util.dynamodb.toBinary(String)

将编码为 base64 字符串的二进制数据转换为 DynamoDB 二进制格式。这将返回一个描述 DynamoDB 属性值的对象。

Input: util.dynamodb.toBinary("foo") Output: { "B" : "foo" }
util.dynamodb.toBinarySet(List<String>)

将编码为 base64 字符串的二进制数据列表转换为 DynamoDB 二进制集格式。这将返回一个描述 DynamoDB 属性值的对象。

Input: util.dynamodb.toBinarySet([ "foo", "bar", "baz" ]) Output: { "BS" : [ "foo", "bar", "baz" ] }

toBoolean 实用工具

util.dynamodb.toBoolean(Boolean)

将布尔值转换为相应的 DynamoDB 布尔格式。这将返回一个描述 DynamoDB 属性值的对象。

Input: util.dynamodb.toBoolean(true) Output: { "BOOL" : true }

toNull 实用工具

util.dynamodb.toNull()

返回 DynamoDB 空值格式的空值。这将返回一个描述 DynamoDB 属性值的对象。

Input: util.dynamodb.toNull() Output: { "NULL" : null }

toList 实用工具

util.dynamodb.toList(List)

将对象列表转换为 DynamoDB 列表格式。列表中的每个项目也将转换为其相应的 DynamoDB 格式。表示某些嵌套对象的方式是自主的:例如,使用列表 ("L") 而不使用集 ("SS", "NS", "BS")。这将返回一个描述 DynamoDB 属性值的对象。

Input: util.dynamodb.toList([ "foo", 123, { "bar" : "baz" } ]) Output: { "L" : [ { "S" : "foo" }, { "N" : 123 }, { "M" : { "bar" : { "S" : "baz" } } } ] }

toMap 实用工具

util.dynamodb.toMap(Map)

将地图转换为 DynamoDB 地图格式。地图中的每个值也将转换为其相应的 DynamoDB 格式。表示某些嵌套对象的方式是自主的:例如,使用列表 ("L") 而不使用集 ("SS", "NS", "BS")。这将返回一个描述 DynamoDB 属性值的对象。

Input: util.dynamodb.toMap({ "foo": "bar", "baz" : 1234, "beep": [ "boop"] }) Output: { "M" : { "foo" : { "S" : "bar" }, "baz" : { "N" : 1234 }, "beep" : { "L" : [ { "S" : "boop" } ] } } }
util.dynamodb.toMapValues(Map)

创建地图的副本,其中每个值都已转换为相应的 DynamoDB 格式。表示某些嵌套对象的方式是自主的:例如,使用列表 ("L") 而不使用集 ("SS", "NS", "BS")。

Input: util.dynamodb.toMapValues({ "foo": "bar", "baz" : 1234, "beep": [ "boop"] }) Output: { "foo" : { "S" : "bar" }, "baz" : { "N" : 1234 }, "beep" : { "L" : [ { "S" : "boop" } ] } }
注意

这与之稍有不同,util.dynamodb.toMap(Map)因为它仅返回 DynamoDB 属性值的内容,而不是整个属性值本身。例如,以下语句是完全相同的:

util.dynamodb.toMapValues(<map>) util.dynamodb.toMap(<map>)("M")

S3Object 实用工具

util.dynamodb.toS3Object(String key, String bucket, String region)

将密钥、存储段和区域转换为 DynamoDB S3 对象表示形式。这将返回一个描述 DynamoDB 属性值的对象。

Input: util.dynamodb.toS3Object("foo", "bar", region = "baz") Output: { "S" : "{ \"s3\" : { \"key\" : \"foo", \"bucket\" : \"bar", \"region\" : \"baz" } }" }
util.dynamodb.toS3Object(String key, String bucket, String region, String version)

将密钥、存储桶、区域和可选版本转换为 DynamoDB S3 对象表示形式。这将返回一个描述 DynamoDB 属性值的对象。

Input: util.dynamodb.toS3Object("foo", "bar", "baz", "beep") Output: { "S" : "{ \"s3\" : { \"key\" : \"foo\", \"bucket\" : \"bar\", \"region\" : \"baz\", \"version\" = \"beep\" } }" }
util.dynamodb.fromS3ObjectJson(String)

接受 DynamoDB S3 对象的字符串值并返回包含密钥、存储桶、区域和可选版本的映射。

Input: util.dynamodb.fromS3ObjectJson({ "S" : "{ \"s3\" : { \"key\" : \"foo\", \"bucket\" : \"bar\", \"region\" : \"baz\", \"version\" = \"beep\" } }" }) Output: { "key" : "foo", "bucket" : "bar", "region" : "baz", "version" : "beep" }