Filtri - AWS AppSync

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Filtri

Quando si eseguono interrogazioni su oggetti in DynamoDB utilizzando Query le operazioni Scan and, è possibile facoltativamente specificare filter un valore che valuti i risultati e restituisca solo i valori desiderati.

La sezione di mappatura dei filtri di un documento di mappatura di Query o Scan ha la seguente struttura:

"filter" : { "expression" : "filter expression" "expressionNames" : { "#name" : "name", }, "expressionValues" : { ":value" : ... typed value }, }

I campi sono definiti come segue:

expression

L'espressione della query. Per ulteriori informazioni su come scrivere espressioni di filtro, consulta la documentazione di DynamoDB e QueryFilter ScanFilter DynamoDB. Questo campo deve essere specificato.

expressionNames

Le sostituzioni per i segnaposto dell'attributo di espressione name sotto forma di coppie chiave-valore. La chiave corrisponde a un segnaposto nome utilizzato in expression. Il valore deve essere una stringa che corrisponde al nome dell'attributo dell'elemento in DynamoDB. Questo è un campo facoltativo in cui vanno riportate solo le sostituzioni per i segnaposto dell'attributo di espressione name utilizzate in expression.

expressionValues

Le sostituzioni per i segnaposto dell'attributo di espressione value sotto forma di coppie chiave-valore. La chiave corrisponde a un segnaposto per un valore utilizzato in expression, mentre il valore deve essere un valore tipizzato. Per ulteriori informazioni su come specificare un "valore tipizzato", consulta Sistema di tipi (mappatura della richiesta). Questo elemento deve essere specificato. Questo è un campo facoltativo in cui vanno riportate solo le sostituzioni per i segnaposto dell'attributo di espressione value utilizzate in expression.

Esempio

L'esempio seguente è una sezione filtro per un modello di mappatura, in cui le voci recuperate da DynamoDB vengono restituite solo se il titolo inizia con l'argomento. title

"filter" : { "expression" : "begins_with(#title, :title)", "expressionNames" : { "#title" : "title" }, "expressionValues" : { ":title" : $util.dynamodb.toDynamoDBJson($context.arguments.title) } }