筛选表导出
可以只导出所需的项目和属性,而不是导出整个表。DynamoDB 仅导出与所提供的表达式相匹配的数据。筛选后导出功能可以与完全导出和增量导出结合使用。
对于增量导出,DynamoDB 会根据每个已更改项目的最新图像评估筛选条件。对于已删除项目,DynamoDB 会根据该项目的旧图像评估筛选条件,因为新图像不存在。
可以使用三种类型的表达式来控制筛选后导出所返回的内容。您可以提供其中一个表达式,也可以将它们组合到一个导出请求中:
-
键条件表达式使用与 DynamoDB
Query键条件表达式相同的语法和规则,按其主键来选择项目。键条件表达式通过相等比较以及排序键上的可选条件,来指定单个分区键值。它不能引用非键属性,也不能指定多个分区键值。由于键条件表达式将导出限制为单个分区键值,因此它可以减少 DynamoDB 为导出读取的数据量。有关更多信息,请参阅 DynamoDB 中的查询操作的键条件表达式。 -
筛选表达式可以使用与
Scan操作中的筛选表达式相同的语法和规则,将条件应用于键属性和非键属性。筛选表达式支持诸如等于、不等于和OR之类的比较,以及contains、IN、begins_with、BETWEEN、attribute_exists和size函数。DynamoDB 在读取数据后应用筛选表达式,因此筛选条件不会减少 DynamoDB 为导出操作处理的数据量。有关筛选条件及其语法的更多信息,请参阅筛选条件和条件表达式的语法。 -
投影表达式使用与其他 DynamoDB 操作中的投影表达式相同的语法和规则,标识您希望在导出输出中使用的特定属性。有关更多信息,请参阅 在 DynamoDB 中使用投影表达式。
注意
键属性能否出现在筛选表达式中,取决于您是否还提供了键条件表达式。如果提供键条件表达式,则该键属性不能同时出现在筛选表达式中。如果仅提供筛选表达式,则键属性可以出现在筛选表达式中。
每个表达式须遵守以下限制条件:
-
表达式的最大大小为 4 KB。
-
属性名称最大为 250 字节。
-
属性值最大为 2 MB。
-
一个表达式最多可包含 300 个运算符。