Запросы в DynamoDb без ключевого выражения условия - PullRequest
0 голосов
/ 29 ноября 2018

Я новичок в DynamoDb, но я хочу запрашивать данные с использованием .NET, и я немного запутался, что DynamoDb заставляет меня использовать Первичный ключ и KeyConditionExpression.

Например, в SQL я могу сделать что-то вродеэто SELECT * FROM tbl1 WHERE name = 'Alex' и в этом случае имя НЕ первичный ключ.Но я не могу сделать нечто подобное в DynamoDb.

Вот мой код:

        var request = new QueryRequest
        {
            TableName = "CompanyCommunication",
            KeyConditionExpression = "Id = :v_Id",
            FilterExpression = "CompanyName = :v_Com",
            ExpressionAttributeValues = new Dictionary<string, AttributeValue> {
            {":v_Com", new AttributeValue { S =  "Microsoft" }} , {":v_Id", new AttributeValue { S = "1" }  }  }
        };

Id - мой первичный ключ.Но я не могу комментировать KeyConditionExpression или использовать какое-то другое поле в KeyConditionExpression.

Но как мне сделать запрос без использования первичного ключа ?Например, используя только поле CompanyName.

Может я что-то не так понял?

1 Ответ

0 голосов
/ 29 ноября 2018

Если вы хотите сделать запрос без ввода KeyCondition, то у вас должна быть индексная таблица.Вы можете проверить следующую ссылку для получения более подробной информации.

https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/GSI.html

Это объясняется с примерами использования GSI.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...