0

我目前無法使用AWS Mobile Helper在Swift中調用lambda。如何使用AWS Mobile Hub Helper調用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

如果您正在使用Mobile Hub或Mobile Hub Helper時,應使用它提供的類。當您實例化CloudLogic單例時,它將設置服務配置。

因此,而不是AWSLambda.defaultLambda你應該使用AWSCloudLogic.defaultCloudLogic它的方法會盡快進行實例管理權限問題。

您可以通過使用移動集線器下載使用雲邏輯的示例應用程序來獲得示例。

我放在一起移動樞紐

mobile hub diagram

+0

謝謝布魯斯的簡圖。我已經閱讀過你的精彩PDF。這是否意味着我必須實現其他的東西只是爲了調用lambda函數? – Domsware

+0

我跟隨你的示例,將東西添加到Info.plist。事情更進一步,但仍然有一個崩潰,並且這個日誌:'***終止應用程序由於未捕獲的異常'NSInternalInconsistencyException',原因:'服務配置是'nil'。在使用這種方法之前,您需要配置Info.plist或設置defaultServiceConfiguration。'' – Domsware

+0

我比較了您的示例和AWS給出的示例,嘗試瞭解缺少的要點。他們真的不同! – Domsware

相關問題