Я работаю с iOS SDK с Amazon Web Services

Я пытаюсь отправить запрос на сканирование с приведенным ниже кодом:

DynamoDBScanRequest *request = [[DynamoDBScanRequest alloc] initWithTableName:self.tableName];
DynamoDBCondition *condition = [[DynamoDBCondition alloc] init];
[condition setComparisonOperator:@"GT"];
NSString *key = [[alertView textFieldAtIndex:0] text];    //Returns NSString @"00610"

[request setScanFilterValue:condition forKey:key];

DynamoDBScanResponse *response = [self.dbClient scan:request];

Я получаю такую ​​ошибку:

Попытка выполнить операцию фильтрации не поддерживается для указанного количества аргументов фильтра.

Пожалуйста, помогите кто-нибудь объяснить, что происходит !!!!

4
srz2 27 Мар 2013 в 22:03

1 ответ

Лучший ответ

Условия требуют определенного размера AttributeValueList для имени условия на основе имени условия; эта ошибка означает, что вы пытались использовать GT (больше) с неправильным числом attributeValues. Больше чем требуется 1 значение атрибута, поэтому, возможно, вы указываете 0 или 2.

Вот другие условия и количество требуемых значений атрибутов:

NOT_NULL     0  (exists)
NULL         0  (not exists)
EQ           1  (equal) 
NE           1  (not equal)
IN           1  (exact matches)
LE           1  (less than or equal to)
LT           1  (less than)
GE           1  (greater than or equal to)
GT           1  (greater than)
CONTAINS     1  (substring or value in a set)
NOT_CONTAINS 1  (absence of a substring or absence of a value in a set)
BEGINS_WITH  1  (a substring prefix)
BETWEEN      2  (between)
2
Cory Kendall 24 Июл 2013 в 02:23