错误:
代码:ERROR HERE:可选(错误域=com.amazonaws。AWSJSONBuilderErrorDomain Code=4 "序列化对象既不是有效的json对象也不是NSData对象:" UserInfo={NSLocalizedDescription=序列化对象既不是有效的json对象也不是NSData对象:})
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)
}
}
}
我已经看了我的lambda日志,我可以看到我甚至没有调用该方法。我面临的问题是什么?我有另一个怀疑,它可能是认知在这里:AWS认知集成swift3刷新提供ResourceNotFoundException
但我很困惑,如果我能得到一个身份,出了什么问题?现在我认为它可能是我的lambda调用。
我不知道这是否对你有帮助。看看您的调用请求,它缺少两个项目。ClientContext和Qualifier。这些都是空的
在AWSSerialization的1292处,它有:
[self failWithCode:AWSJSONBuilderInvalidParameter description:[NSString stringWithFormat:@"serialized object is neither a valid json Object nor NSData object: %@",serializedJsonObject] error:error];
注意,在:之后你应该看到你正在序列化的对象。在你的错误中它是空的。
可以使用断点和反跟踪来查看它在做什么