1

エラー:

ここにエラー: Optional(Error Domain=com.amazonaws.AWSJSONBuilderErrorDomain Code=4 "serialized object is not a valid json Object or NSData object: " UserInfo={NSLocalizedDescription=serialized object is not a valid json Object or 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)
    }

}
}

ラムダ ログを確認したところ、メソッドを呼び出していないことがわかります。私が直面している問題は何ですか? ここで cognito である可能性があるという別の疑いがあります: AWS Cognito 統合 swift3 Refresh は ResourceNotFoundException
を提供しますしかし、identityID を取得できるかどうか混乱しています。今、私はそれが私のラムダ呼び出しかもしれないと考えています。

4

1 に答える 1

1

これが役立つかどうかはわかりません。呼び出しリクエストを見ると、2 つの項目がありません。ClientContext と修飾子。それらは空になります。

AWSSerialization の 1292 には、次のものがあります。

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

: の後に、シリアライズしているオブジェクトが表示されることに注意してください。あなたのエラーでは空です。

たぶん、ブレークポイントとバックトレースを使用して、それが何をしているのかを確認してください。

于 2016-11-06T06:37:30.390 に答える