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à.
ScanFilter (eredità)
Nota
Consigliamo di utilizzare i nuovi parametri di espressione piuttosto che i parametri precedenti, se possibile. Per ulteriori informazioni, consulta Utilizzo di espressioni in DynamoDB. Per informazioni specifiche sul nuovo parametro che sostituisce questo, consulta usa FilterExpressioninvece..
In una operazione Scan
, il parametro condizionale legacy ScanFilter
è una condizione che valuta i risultati della scansione e restituisce solo i valori desiderati.
Nota
Questo parametro non supporta gli attributi di tipo List o Map.
Se si specifica più di una condizione nella mappa ScanFilter
, allora, per impostazione predefinita, tutte le condizioni devono restituire true. In altre parole, le condizioni coesistonoANDed. È possibile utilizzare il parametro ConditionalOperator (eredità) per applicare l'operatore OR alle condizioni. In questo caso, almeno una delle condizioni deve restituire true, se non tutte.
Ogni elemento ScanFilter
è costituito da un nome di attributo da confrontare, insieme a quanto segue:
-
AttributeValueList
: uno o più valori da valutare rispetto all'attributo fornito. Il numero di valori in List dipende dall'operatore specificato inComparisonOperator
.Per il tipo Number, i confronti dei valori sono numerici.
I confronti tra valori di stringa con valori maggiori di, uguali o minori di si basano sulla codifica binaria UTF -8. Ad esempio,
a
è maggiore diA
ea
è maggiore diB
.Per il tipo Binary, quando confronta i valori binari DynamoDB tratta ogni byte dei dati binari come non firmato.
Per informazioni sulla specificazione dei tipi di dati in, vedere. JSON DynamoDB di basso livello API
-
ComparisonOperator
: un comparatore per valutare gli attributi. Ad esempio, uguale a, maggiore di e minore di.Sono disponibili i seguenti operatori di confronto:
EQ | NE | LE | LT | GE | GT | NOT_NULL | NULL | CONTAINS | NOT_CONTAINS | BEGINS_WITH | IN | BETWEEN
Usa FilterExpressioninvece: Esempio
Supponiamo di voler eseguire la scansione della tabella Music e di applicare una condizione agli elementi corrispondenti. È possibile utilizzare una richiesta Scan
con un parametro ScanFilter
, come in questo esempio AWS CLI :
aws dynamodb scan \ --table-name Music \ --scan-filter '{ "Genre":{ "AttributeValueList":[ {"S":"Rock"} ], "ComparisonOperator": "EQ" } }'
Puoi invece utilizzare FilterExpression
:
aws dynamodb scan \ --table-name Music \ --filter-expression 'Genre = :g' \ --expression-attribute-values '{ ":g": {"S":"Rock"} }'