本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
ScanFilter (舊版)
注意
我們建議您盡可能使用新的表達式參數,而不要使用舊版參數。如需詳細資訊,請參閱在 DynamoDB 中使用表達式。如需取代此參數之新參數的特定資訊,請參閱 請FilterExpression改為使用 。。
在 Scan
操作中,舊版條件式參數 ScanFilter
是可評估掃描結果並僅傳回所需值的一個條件。
注意
此參數不支援 List 或 Map 類型的屬性。
如果在 ScanFilter
映射中指定一個以上條件,所有條件必須根據預設評估為 true。換句話說,條件是ANDed在一起的。(您可以改用 ConditionalOperator (舊版) 參數將條件以 OR 連在一起。若要如此,則至少其中一個條件必須評估為 true,而不是全部都必須評估為 true。)
每個 ScanFilter
元素包含要比較的屬性名稱,並具有下列資訊:
-
AttributeValueList
:針對所提供的屬性進行評估的一或多個數值。清單中的數值數目依ComparisonOperator
中指定的運算子而定。Number 類型的數值比較為數字。
大於、等於或小於 的字串值比較是根據 UTF-8 二進位編碼。例如,
a
大於A
,a
大於B
。針對 Binary,每當 DynamoDB 比較二進位值時,都會將二進位資料的每個位元組視為不帶正負號。
如需在 中指定資料類型的資訊JSON,請參閱 DynamoDB 低階 API。
-
ComparisonOperator
:用於評估屬性的比較程式。例如:等於、大於和小於。可以使用下列比較運算子:
EQ | NE | LE | LT | GE | GT | NOT_NULL | NULL | CONTAINS | NOT_CONTAINS | BEGINS_WITH | IN | BETWEEN
請FilterExpression改用 - 範例
假設您想掃描 Music 資料表,並將條件套用至相符項目。您可以搭配 ScanFilter
參數使用 Scan
請求,如本 AWS CLI 範例所示:
aws dynamodb scan \ --table-name Music \ --scan-filter '{ "Genre":{ "AttributeValueList":[ {"S":"Rock"} ], "ComparisonOperator": "EQ" } }'
您可以改用 FilterExpression
。
aws dynamodb scan \ --table-name Music \ --filter-expression 'Genre = :g' \ --expression-attribute-values '{ ":g": {"S":"Rock"} }'