

# テーブルのエクスポートのフィルタリング
<a name="S3DataExport.Filtered"></a>

テーブル全体をエクスポートする代わりに、必要な項目と属性のみをエクスポートできます。DynamoDB は、指定した式に一致するデータのみをエクスポートします。フィルタリングされたエクスポートは、フルエクスポートと増分エクスポートの両方で機能します。

増分エクスポートの場合、DynamoDB は変更された各項目の最新のイメージに対してフィルターを評価します。削除された項目の場合、新しいイメージが存在しないため、DynamoDB は項目の古いイメージに対してフィルターを評価します。

フィルタリングされたエクスポートで何が返されるかは、3 種類の式を使用して制御できます。1 つのエクスポートリクエストにおいて、これらの式を単独で指定することも組み合わせて指定することもできます。
+ **キー条件式**は、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 個の演算子を含めることができます。