

# 筛选表导出
<a name="S3DataExport.Filtered"></a>

可以只导出所需的项目和属性，而不是导出整个表。DynamoDB 仅导出与所提供的表达式相匹配的数据。筛选后导出功能可以与完全导出和增量导出结合使用。

对于增量导出，DynamoDB 会根据每个已更改项目的最新图像评估筛选条件。对于已删除项目，DynamoDB 会根据该项目的旧图像评估筛选条件，因为新图像不存在。

可以使用三种类型的表达式来控制筛选后导出所返回的内容。您可以提供其中一个表达式，也可以将它们组合到一个导出请求中：
+ **键条件表达式**使用与 DynamoDB `Query` 键条件表达式相同的语法和规则，按其主键来选择项目。键条件表达式通过相等比较以及排序键上的可选条件，来指定单个分区键值。它不能引用非键属性，也不能指定多个分区键值。由于键条件表达式将导出限制为单个分区键值，因此它可以减少 DynamoDB 为导出读取的数据量。有关更多信息，请参阅 [DynamoDB 中的查询操作的键条件表达式](Query.KeyConditionExpressions.md)。
+ **筛选表达式**可以使用与 `Scan` 操作中的筛选表达式相同的语法和规则，将条件应用于键属性和非键属性。筛选表达式支持诸如等于、不等于和 `OR` 之类的比较，以及 `contains`、`IN`、`begins_with`、`BETWEEN`、`attribute_exists` 和 `size` 函数。DynamoDB 在读取数据后应用筛选表达式，因此筛选条件不会减少 DynamoDB 为导出操作处理的数据量。有关筛选条件及其语法的更多信息，请参阅[筛选条件和条件表达式的语法](Expressions.OperatorsAndFunctions.md#Expressions.OperatorsAndFunctions.Syntax)。
+ **投影表达式**使用与其他 DynamoDB 操作中的投影表达式相同的语法和规则，标识您希望在导出输出中使用的特定属性。有关更多信息，请参阅 [在 DynamoDB 中使用投影表达式](Expressions.ProjectionExpressions.md)。

**注意**  
键属性能否出现在筛选表达式中，取决于您是否还提供了键条件表达式。如果提供键条件表达式，则该键属性不能同时出现在筛选表达式中。如果仅提供筛选表达式，则键属性可以出现在筛选表达式中。

每个表达式须遵守以下限制条件：
+ 表达式的最大大小为 4 KB。
+ 属性名称最大为 250 字节。
+ 属性值最大为 2 MB。
+ 一个表达式最多可包含 300 个运算符。