Я пытаюсь отсканировать количество неудачных токенов из таблицы базы данных Dynamodb без каких-либо индексов. Он возвращает 0 из базы данных. Я сомневаюсь, что это сканирование не всей базы данных. Ниже приведен мой метод и рабочее состояние dynamoDBClient
, а также сведения о подключении. Я размещаю здесь только часть запроса сканирования
public int getFailedAuthStatusCount() {
Map<String,String> expressionAttributesNames = new HashMap<>();
expressionAttributesNames.put("#status","auth_status");
Map<String, AttributeValue> expressionAttributeValues = new HashMap<String, AttributeValue>();
expressionAttributeValues.put(":val", new AttributeValue().withS("FAIL"));
ScanRequest scanRequest = new ScanRequest()
.withTableName("Token")
.withFilterExpression("#status = :val")
.withExpressionAttributeNames(expressionAttributesNames)
.withExpressionAttributeValues(expressionAttributeValues);
ScanResult scanResult = dynamoDBClient.scan(scanRequest); //client is working fine.
return scanResult.getCount();
}
Вот ответ.
{Items: [],Count: 0,ScannedCount: 1456,LastEvaluatedKey: {GUID={S: 0c4b281e6f9290c0fb3bf13f28c88fd,}, VENDOR={S: DELL,}},}
что не так с моим запросом?