Как получить все записи из таблицы в DynamoDb, используя запрос - PullRequest
0 голосов
/ 19 февраля 2019

Новичок в DynamoDb

У меня есть таблица в AWS DynamoDb, как показано ниже

tblCustomer

Id Name Email
1  Abc  abc@gmail.com
2  Xyz  xyz@gmail.com

Это огромный стол.Пока исследую вокруг него.Query лучше, чем Scan.Поэтому я выбрал Query вместо Scan.

Вот так выглядит моя функция C #.

AmazonDynamoDBClient client = new AmazonDynamoDBClient();

var request = new QueryRequest
{
 TableName = "tblCustomer",
 ProjectionExpression = "Name, Email"
 };

 var response = await client.QueryAsync(request);

 foreach (Dictionary<string, AttributeValue> item in response.Items)
 {

 }

Но это исключение

KeyConditionExpress cannot be null

Здесь я неМне нужно иметь KeyConditionExpress, так как мне нужно, чтобы получить всех клиентов.

Как я могу получить все записи из tblCustomer наиболее эффективным способом?

Спасибо!

1 Ответ

0 голосов
/ 19 февраля 2019

Запрос лучше сканирования, если вы хотите вернуть подмножество записей - то, что вы пытаетесь сделать (запрос без условий), в любом случае является функциональным эквивалентом сканирования, так что вы также можете использоватьсканирование.

Тем не менее, если вам часто приходится запускать сканирование полной таблицы, это может указывать на проблему с вашим дизайном - сканирование дорого и медленно и должно использоваться только при необходимости.

...