首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >iOS SDK如何调用Lambda函数?

iOS SDK如何调用Lambda函数?
EN

Stack Overflow用户
提问于 2018-12-13 23:54:58
回答 2查看 805关注 0票数 1

我有一个iOS购物应用程序,并想调用一个用于日志记录的lambda函数。但我不想通过API Gateway调用lambda函数来节省成本。有没有可能使用亚马逊的iOS SDK将日志发送到Lambda?

EN

回答 2

Stack Overflow用户

发布于 2018-12-19 08:21:37

您可以使用AWS iOS SDK直接调用lambda函数。下面是一个代码片段

代码语言:javascript
复制
AWSLambda *lambda = [AWSLambda defaultLambda];
AWSLambdaInvocationRequest *invocationRequest = [AWSLambdaInvocationRequest new];
invocationRequest.functionName = @"functionname";
invocationRequest.invocationType = AWSLambdaInvocationTypeRequestResponse;
NSDictionary *parameters = ...

invocationRequest.payload = [NSJSONSerialization dataWithJSONObject:parameters
                                                            options:kNilOptions
                                                              error:nil];

[lambda invoke:invocationRequest] 

这里显示的集成测试https://github.com/aws-amplify/aws-sdk-ios/blob/335e4d82a641fdb9cdc84773bf115951e850b884/AWSLambdaTests/AWSLambdaTests.m#L110演示了如何调用lamdba函数并验证结果。

票数 1
EN

Stack Overflow用户

发布于 2021-01-23 19:02:36

您可以在Swift中使用AWSLambda Pod完成此操作:

代码语言:javascript
复制
import AWSLambda

// ...

let request = AWSLambdaInvocationRequest()!
request.functionName = "name of your lambda"
request.invocationType = .requestResponse
let params: [String: Any] = [:]
request.payload = try! JSONSerialization.data(withJSONObject: params, options: [])

AWSLambda.default().invoke(request) { response, error in
    if let error = error {
        print(error)
    } else {
        print(response!.debugDescription)
    }
}

当然,您需要按照documentation AWS Lambda permissions中所述设置正确的权限

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53765602

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档