[IOS] AWS Lambda 함수 사용 방법
AWSLambdaInvoker
는 AWS Mobile SDK의 일부로서, iOS 애플리케이션에서 AWS Lambda 함수를 호출하기 위해 사용되는 클래스입니다. 이를 사용하여 Lambda 함수를 호출하고 결과를 처리할 수 있습니다. 아래는 AWSLambdaInvoker
를 사용하는 간단한 예제 코드입니다.
- AWS Mobile SDK 설치
먼저, AWS Mobile SDK를 프로젝트에 추가해야 합니다. 이를 위해 Podfile
에 다음과 같이 추가합니다:
pod 'AWSLambda'
pod 'AWSMobileClient'`
그리고 터미널에서 pod install
을 실행하여 팟을 설치합니다.
- AWS 초기화
앱을 시작할 때 AWS 서비스를 초기화해야 합니다. AppDelegate.swift
파일에서 다음과 같이 AWS 초기화 코드를 추가합니다:
import AWSMobileClient
import AWSCore
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
// AWS 초기화
let credentialsProvider = AWSMobileClient.default().getCredentialsProvider()
let configuration = AWSServiceConfiguration(
region: .USEast1, // Lambda 함수가 있는 리전으로 변경하세요.
credentialsProvider: credentialsProvider
)
AWSServiceManager.default().defaultServiceConfiguration = configuration
return true
}
- AWS Lambda 함수 호출
Lambda 함수를 호출하는 코드를 추가합니다. 이 예제에서는 호출된 Lambda 함수의 결과를 출력하는 것으로 가정합니다.
import AWSLambda
func invokeLambdaFunction() {
let lambdaInvoker = AWSLambdaInvoker.default()
let functionName = "YourLambdaFunctionName" // 호출할 Lambda 함수 이름
let requestPayload = ["key": "value"] // Lambda 함수로 전달할 데이터
lambdaInvoker.invokeFunction(functionName, jsonObject: requestPayload)
.continueWith { (task) -> Any? in
if let error = task.error {
print("Error: \(error.localizedDescription)")
}
if let result = task.result as? [String: Any] {
print("Lambda Result: \(result)")
}
return nil
}
}
위 코드에서 YourLambdaFunctionName
에 호출할 Lambda 함수의 이름을 입력하고, requestPayload
에 함수에 전달할 데이터를 입력합니다.
- Lambda 함수의 결과 처리
Lambda 함수의 결과를 위의 코드에서 print("Lambda Result: \(result)")
부분을 수정하여 원하는대로 처리할 수 있습니다.
이렇게하면 AWS Lambda 함수를 iOS 애플리케이션에서 호출하는 데 사용할 수 있는 간단한 예제가 완성됩니다. 필요에 따라 코드를 수정하여 더 복잡한 시나리오를 다룰 수 있습니다. AWS 문서 및 AWS Mobile SDK의 예제 코드도 참조할 것을 권장합니다.