2016-10-27 12 views
1

エラー:AWSラムダスウィフト3エラー

ERROR HERE: Optional(Error Domain=com.amazonaws.AWSJSONBuilderErrorDomain Code=4 "serialized object is neither a valid json Object nor NSData object: " UserInfo={NSLocalizedDescription=serialized object is neither a valid json Object nor NSData object: })

コード:

import AWSLambda 
import Foundation 
struct AWSHelper{ 
let lambda = AWSLambda.default() 
let APPLICATION_NAME = "MYAPPNAME" 
init(){ 

} 

func getFunctionName(funcName: String) -> String{ 
    return "\(funcName)_\(APPLICATION_NAME)" 
} 

func login(facebookID: String,cognitoID:String, callback:@escaping (Bool) -> Void){ 
    let req: AWSLambdaInvocationRequest = AWSLambdaInvocationRequest(); 
    req.invocationType = AWSLambdaInvocationType.requestResponse 
    req.payload = ["cognitoID" : cognitoID, "facebookID" : facebookID] 
    req.functionName = getFunctionName(funcName: "Login") 

    lambda.invoke(req) { (response: AWSLambdaInvocationResponse?,error: Error?) in 
     print("ERROR HERE: \(error)") 
     let payload = response?.payload 
     print("PAYLOAD HERE: \(payload)") 
     callback(true) 
    } 

} 
} 

私はラムダのログを見ていると私は、私もメソッドを呼び出すわけではないことがわかります。私が直面している問題は何ですか? AWS Cognito integration swift3 Refresh provides ResourceNotFoundException
私がidentityIDを取得できるのであれば混乱しますが、何がうまくいかないのですか? 今私はそれが私のラムダ呼び出しかもしれないと思っています。

答えて

1

これが役立つかどうかわかりません。あなたの呼び出し要求を見ると、2つの項目がありません。 ClientContextと修飾子。それらは空であろう。 1292で

はAWSSerializationにそれはあります

  [self failWithCode:AWSJSONBuilderInvalidParameter description:[NSString stringWithFormat:@"serialized object is neither a valid json Object nor NSData object: %@",serializedJsonObject] error:error]; 

ノートをその後:あなたはシリアライズされたオブジェクトが表示されるはずです。あなたのエラーでそれは空です。

おそらく、ブレークポイントとバックトレースを使用して、それが何を処理しているかを確認してください。

+0

私は実際これがラムダだとは思わない。私がFacebookのトークンを取り出すと、私の未認証の役割が承認されていないことが告げられます。これは、コマンドを適切に実行していることを意味します。しかし、私はfacebookを追加するときにエラーが発生するので、代わりに自分の資格情報と関係があると思います。 – user2977578

+0

何が変わったのか分かりませんが、1週間作業を中止して作業を開始しました...私は差分を見て、別の質問に私の考えを掲示します – user2977578