MCK*_*pur 1 amazon-web-services amazon-simpledb ios
我正在使用Amazon SimpleDB进行选择查询,我正在尝试使用AWS AmazonServiceRequestDelegate,这里是委托方法(我已经在.h BTW中遵守):
- (void)request:(AmazonServiceRequest *)request didFailWithError:(NSError *)error {
NSLog(@"%@", error.localizedDescription);
}
- (void)request:(AmazonServiceRequest *)request didReceiveData:(NSData *)data {
NSLog(@"recieving data");
}
- (void)request:(AmazonServiceRequest *)request didReceiveResponse:(NSURLResponse *)response {
NSLog(@"response recieved");
}
- (void)request:(AmazonServiceRequest *)request didCompleteWithResponse:(AmazonServiceResponse *)response {
NSLog(@"Completed");
}
Run Code Online (Sandbox Code Playgroud)
它们都被调用,除了didCompleteWithResponse:,当整个操作用响应完成时应该调用的方法.didFailWithError:也没有被调用,但我认为我的操作没有任何理由失败.
这是我创建选择查询的代码:
SimpleDBSelectRequest *sReq = [[SimpleDBSelectRequest alloc] initWithSelectExpression:SELECT_STRING andConsistentRead: YES];
sReq.delegate = self;
sReq.requestTag = FIND_FRIENDS_SDB;
[sdbClient select: sReq];
Run Code Online (Sandbox Code Playgroud)
其中SELECT_STRING和FIND_FRIENDS_SDB是预定义的并且对上下文字符串有效.
我的问题在这里是什么?谢谢!
更新:
得到了委托工作.获取与我的SimpleDB SELECT查询相关的错误,显然我的SELECT表达式的语法无效.我得到两个错误,因为我正在做两个查询,这里是每个的SELECT表达式:
从trvlogue-app中选择*,其中Type ='account'AND itemName()='me%40rohankapur.com-account'
这是查看'Type'属性和'itemName()'并检查它们是否等于域中的某些内容.
选择来自trvlogue-app的电子邮件地址('kate-bell%40mac.com','www.creative-consulting-inc.com','d-higgins%40mac.com','John-Appleseed%40mac.com ", '安娜 - 哈罗%40mac.com', '绞纱zakroff%40mac.com')
那就是检查域中的Email属性中是否存在这些字符串.
注意:
修复它,显然在使用SELECT表达式时,域名不能有破折号.或者破折号似乎以某种方式打破了这些要求