

# 在 DynamoDB 中使用表达式属性值
<a name="Expressions.ExpressionAttributeValues"></a>

Amazon DynamoDB 中的*表达式属性值*可充当变量。它们是您想要比较的实际值的替代项，您可能直到运行时才知道这些值。表达式属性值必须以冒号 (`:`) 开头，后跟一个或多个字母数字字符。

例如，假设您希望返回提供 `Black` 且成本`500` 或更少的所有 `ProductCatalog` 项目。您可以使用 `Scan` 操作与过滤器表达式相同，如此 AWS Command Line Interface(AWS 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" }
}
```

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

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