ScanFilter (legacy) - Amazon DynamoDB

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 (legacy)

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 Utilizza invece FilterExpression..

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 sono unite da AND. È possibile utilizzare il parametro ConditionalOperator (legacy) 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 in ComparisonOperator.

    Per il tipo Number, i confronti dei valori sono numerici.

    I confronti di valori String per maggiore di, uguale o minore di sono basati sulla codifica binaria UTF-8. Ad esempio, a è maggiore di A e a è maggiore di B.

    Per il tipo Binary, quando confronta i valori binari DynamoDB tratta ogni byte dei dati binari come non firmato.

    Per informazioni su come specificare i tipi di dati in JSON, consulta API DynamoDB di basso livello.

  • 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

Utilizza invece FilterExpression: 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"} }'