如何使用AWS Mobile Hub Helper调用lambda函数?

时间:2016-11-16 11:37:27

标签: swift amazon-web-services aws-lambda aws-mobilehub amazon-mobile-hub

我目前无法使用AWS Mobile Helper在Swift中调用lambda。

我已成功配置项目以使用Cognito用户池和Cognito联合身份识别用户。

但是现在调用lambda函数会导致崩溃: terminating with uncaught exception of type NSException

崩溃之前有以下日志:

AWSiOSSDK v2.4.11 [Debug] AWSInfo.m line:122 | -[AWSServiceInfo     initWithInfoDictionary:checkRegion:] | Couldn't read the region configuration from Info.plist for the client. Please check your `Info.plist` if you are providing the SDK configuration values through `Info.plist`.
*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'The service configuration is `nil`. You need to configure `Info.plist` or set `defaultServiceConfiguration` before using this method.'

以下是代码:

let lambda = AWSLambda.defaultLambda()

lambda.invoke(myRequest, completionHandler: {
            (myAnswer: AWSLambdaInvocationResponse?, error: NSError?) in

   print("ERROR HERE: \(error)")
   let payload = myAnswer?.payload
   print("PAYLOAD HERE: \(payload)")

})

1 个答案:

答案 0 :(得分:1)

如果您使用的是Mobile Hub或Mobile Hub Helper,则应使用它提供的类。实例化CloudLogic单例时,它会设置服务配置。

因此,您应该使用AWSCloudLogic.defaultCloudLogic而不是AWSLambaud.defaultLambda,它的方法将在实例化后立即管理权限问题。

您可以使用移动集线器下载使用云逻辑的示例应用程序。

我整理了移动集线器的简要图表

mobile hub diagram