

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# フィルター
<a name="js-aws-appsync-resolver-reference-dynamodb-filter"></a>

`Query` 処理と `Scan` 処理を使用して DynamoDB のオブジェクトにクエリを実行する場合、オプションで、結果を評価する `filter` を指定して、必要な値のみを返すことができます。

`Query` または `Scan` リクエストの filter プロパティの構造は以下のとおりです。

```
type DynamoDBExpression = {
  expression: string;
  expressionNames?: { [key: string]: string};
  expressionValues?: { [key: string]: any};
};
```

各フィールドの定義は以下のようになります。

** `expression` **  
クエリ式です。フィルタ式の記述方法の詳細については、「[DynamoDB QueryFilter](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.QueryFilter.html)」および「[DynamoDB ScanFilter](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.ScanFilter.html)」の各ドキュメントを参照してください。このフィールドの指定は必須です。

** `expressionNames` **  
式の属性*名*のプレースホルダーを示します。キー - 値のペアの形式になります。キーは、`expression` で使用される名前のプレースホルダーに対応します。値は、DynamoDB の項目の属性名に対応する文字列である必要があります。このフィールドはオプションであり、`expression` で使用される式の属性名のプレースホルダーのみを入力します。

** `expressionValues` **  
式の属性*値*のプレースホルダーを示します。キー - 値のペアの形式になります。キーは `expression` で使用される値のプレースホルダーに対応し、値は型付き値でなければなりません。「型付き値」を指定する方法の詳細については、「[型システム (リクエストマッピング)](https://docs.aws.amazon.com/appsync/latest/devguide/js-resolver-reference-dynamodb.html#js-aws-appsync-resolver-reference-dynamodb-typed-values-request)」を参照してください。この指定は必須です。このフィールドはオプションであり、`expression` で使用される式の属性値のプレースホルダーのみを入力します。

## 例
<a name="js-id18"></a>

次の例は、リクエストのフィルターセクションです。ここでは、DynamoDB から取得されたエントリのうち、タイトルが `title` 引数で始まるもののみが返されます。

ここでは、`util.transform.toDynamoDBFilterExpression` を使用してオブジェクトから自動的にフィルターを作成します。

```
const filter = util.transform.toDynamoDBFilterExpression({
  title: { beginsWith: 'far away' },
});

const request = {};
request.filter = JSON.parse(filter);
```

これにより、以下のフィルターが生成されます。

```
{
  "filter": {
    "expression": "(begins_with(#title,:title_beginsWith))",
    "expressionNames": { "#title": "title" },
    "expressionValues": {
      ":title_beginsWith": { "S": "far away" }
    }
  }
}
```