Я впервые использую (AWS) DynamoDB
, поэтому мой вопрос довольно простой.
Я настроил таблицу (myTable), содержащую одно поле (theField), и могу заполнять ее по одной записи за раз.
Вот что я хочу сделать: сделать запрос для извлечения первого элемента отсортированной таблицы . Я думаю, это вряд ли может быть проще.
Это мой код, основанный на том, что я мог найти в документации AWS и на примере из сети:
let queryExpression = AWSDynamoDBQueryExpression()
queryExpression.scanIndexForward = false
queryExpression.limit = 1
let dynamoDbObjectMapper = AWSDynamoDBObjectMapper.default()
dynamoDbObjectMapper.query(myTable.self, expression: queryExpression) {
(output: AWSDynamoDBPaginatedOutput?, error: Error?) in
if error != nil {
print("The request failed. Error: \(String(describing: error))")
}
if output != nil {
// Process the output.
}
}
Когда я запускаю этот код, я получаю сообщение об ошибке ниже:
The request failed. Error: Optional(Error Domain=com.amazonaws.AWSCognitoIdentityErrorDomain Code=0 "(null)"
UserInfo={__type=com.amazon.coral.validate#ValidationException, message=Either the KeyConditions or
KeyConditionExpression parameter must be specified in the request.})
Во-первых, что это за бизнес KeyConditions или KeyConditionExpression?
Вопрос понятен, зачем мне какое-либо условие?
Во-вторых, я, конечно, пытался заполнить какое-то фиктивное условие (основываясь на том, что я мог найти в каком-то другом посте), чтобы увидеть, что происходит, но это не сработало.
Может кто-нибудь сказать мне, как мне нужно написать queryExpression, чтобы делать то, что я хочу?