選択クエリに 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");
}
didCompleteWithResponse:
操作全体が応答で完了したときに呼び出されることになっているメソッドを除いて、それらはすべて呼び出されます。didFailWithError:
どちらも呼び出されていませんが、とにかく操作が失敗する理由はわかりません。
選択クエリを作成するコードは次のとおりです。
SimpleDBSelectRequest *sReq = [[SimpleDBSelectRequest alloc] initWithSelectExpression:SELECT_STRING andConsistentRead: YES];
sReq.delegate = self;
sReq.requestTag = FIND_FRIENDS_SDB;
[sdbClient select: sReq];
SELECT_STRING
およびは事前FIND_FRIENDS_SDB
定義されており、コンテキスト文字列に対して有効です。
ここで私の問題は何ですか?ありがとう!
アップデート:
委任を機能させました。SimpleDB SELECT クエリに関連するエラーが発生しました。明らかに、SELECT 式の構文が無効です。2 つのクエリを実行しているため、2 つのエラーが発生します。それぞれの SELECT 式は次のとおりです。
select * from trvlogue-app where Type = 'account' AND itemName() = 'me%40rohankapur.com-account'
それは、「Type」属性と「itemName()」を見て、それらがドメイン内の何かと等しいかどうかをチェックしています。
select * from trvlogue-app where Email in('kate-bell%40mac.com','www.creative-consulting-inc.com','d-higgins%40mac.com','John-Appleseed%40mac.com' ','anna-haro%40mac.com','hank-zakroff%40mac.com')
これらの文字列がドメインの Email 属性に存在するかどうかを確認しています。
ノート:
どうやら SELECT 式を使用する場合、ドメイン名にダッシュを含めることができないようです。または、ダッシュが何らかの形でリクエストを壊しているようです