В настоящее время я пытаюсь интегрировать AWS Lambda с моим приложением для iOS.Согласно документации SDK, я импортировал AWSLambda через какао-бобы, а затем добавил следующий пакет кода в мой AppDelegate:
let credentialsProvider = AWSCognitoCredentialsProvider(regionType:.USEast1, identityPoolId:"COGNITO_IDENTITY_POOL_ID")
let awsConfiguration = AWSServiceConfiguration(region:.USEast1, credentialsProvider:credentialsProvider)
AWSServiceManager.default().defaultServiceConfiguration = awsConfiguration
Затем, следуя «Комплексному примеру» вПриведенная выше документация почти до самого начала, я создал следующую функцию в моем TableViewController:
func getFlightData() {
let lambdaInvoker = AWSLambdaInvoker.default()
let event = ["origin": "LHR", "destionation": "FRA"]
lambdaInvoker.invokeFunction("ilondontToFrankfurt", jsonObject: event).continueWith(block: {(task:AWSTask<AnyObject>) -> Any? in
if let error = task.error as? NSError {
if (error.domain == AWSLambdaInvokerErrorDomain) && (AWSLambdaInvokerErrorType.functionError == AWSLambdaInvokerErrorType(rawValue: error.code)) {
print("Function error: \(error.userInfo[AWSLambdaInvokerFunctionErrorKey])")
} else {
print("Error: \(error)")
}
return nil
}
if let JSONDictionary = task.result as? NSDictionary {
print("Result: \(JSONDictionary)")
print("resultKey: \(JSONDictionary["resultKey"])")
return JSONDictionary
}
return nil
})
}
Функция вызывается методом viewDidLoad () TableViewController прямо при его открытии, но все же, когда я проверяю в консоли AWS LambdaНет никаких призывов.Функция не вылетает и не печатает ни одно из сообщений.Я попробовал решение, которое было одобрено для этого вопроса , но получило те же самые результаты.Есть идеи?Любое руководство будет оценено.