表达式属性值 - Amazon DynamoDB
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

表达式属性值

如果需要将属性与值进行比较,请将表达式属性值定义为占位符。Amazon DynamoDB 中的表达式属性值是您想要比较的实际值的替代品,这些值可能直到运行时才知道。表达式属性值必须以冒号 (:) 开头,后跟一个或多个字母数字字符。

例如,假设您希望返回提供 Black 且成本500 或更少的所有 ProductCatalog 项目。您可以使用 Scan 操作与过滤器表达式相同,如此 Amazon Command Line Interface (Amazon CLI) 示例。

aws dynamodb scan \ --table-name ProductCatalog \ --filter-expression "contains(Color, :c) and Price <= :p" \ --expression-attribute-values file://values.json

--expression-attribute-values 的参数存储在文件 values.json 中。

{ ":c": { "S": "Black" }, ":p": { "N": "500" } }
注意

Scan 操作读取表中的每个项目。所以你应该避免将 Scan 与大的表格一起使用。

过滤器表达式将应用于 Scan 结果,并且与过滤器表达式不匹配的项目将被丢弃。

如果您定义表达式属性值,则该值在整个表达式中的使用方式必须一致。另外,您不能忽略 : 符号。

表达式属性值与关键条件表达式、条件表达式、更新表达式和筛选表达式一起使用。

注意

有关编程语言特定的代码示例,请参阅 DynamoDB 和 Amazon SDK 入门