问题标签 [aws-lambda-go]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
unit-testing - 模拟 context.Context 以测试 lambdacontext.FromContext
我正在使用aws-sdk-go和aws-lambda-go构建一个 aws lambda ,但遇到了一个小问题。
我想测试我的 lambda 处理程序。为此,我需要模拟一个有效的context.Context ,其中包含lamdacontext.LambdaContext的有效属性并满足lambdacontext.FromContext
。
我似乎无法找到一种方法来构建这样的模拟,因为lambdacontext.FromContext
总是返回 me _, false
。
这是我的主要内容,在events.SNSEvent事件上有一个简单的处理程序:
这是我的测试handleRequest
:
我还尝试了其他模拟,例如将带有这些参数的结构传递给它等,但我总是得到false
. 例如,我也尝试过:
我检查了来源,FromContext
我一直在摸不着头脑。
当然,false
即使我只是将 a 传递context.Background()
给它,它也会返回。
关于我应该如何建立一个有效context.Context
的让lambdacontext.FromContext
返回的任何想法true
?
amazon-web-services - 运行 AWS Golang Lambda 时出现 exec 格式错误
我有一个 go 应用程序,结构如下:
命令
|
报告
|
main.go
main.go 导入internal/reports
包并有一个函数 main(),它代表对aws-lambda-go/lambda.Start()
函数的调用。
代码正在构建运行命令(片段):
reports.zip
Test
上传到 AWS Lambda,当按下按钮时会抛出错误:
reports
设置为 Lambda 的Handler
.
此外,代码构建在 Ubuntu 14.04 机器上,作为aws/codebuild/ubuntu-base:14.04
Docker Image 的一部分,位于AWS CodeBuild上。这里应该没有环境问题,即使错误表明存在跨平台问题。
有任何想法吗?
aws-lambda - 区分相同 AWS lambda 的两个实例
我需要唯一标识我从 lambda 发送给某个消费者的消息。我可以利用哪些唯一信息来为我发送的每条消息创建唯一 ID?
- 我可以为每个请求发送几条消息(lambda 运行)
- 我可以有几个相同的 lambda 实例同时运行并发送不同的消息
我正在处理的消息具有唯一 ID,但它可以在流程中更改。
GoLang,如果重要的话。
aws-lambda - 我们可以使用 Go 语言编写的 lambda 函数向 SNS 主题发布消息吗?
我有一个用 Golang 编写的 lambda 函数。我试图在执行 lambda 之前从 lambda 函数向 SNS 主题发布消息。有可能这样做吗?
amazon-web-services - 无法通过 aws cli 从 localstack 调用 lambda 函数
我已经推送了 lambda 函数,正如我在 localstack 中看到的那样,基于以下命令/输出
当我尝试执行它时,如下所示,我收到一个错误,我的 localstack 正在一个 docker 容器中运行
aws --endpoint-url= http://localhost:4574 lambda 调用 --function-name books1 /tmp/output.json
这个 lambda 是编写的Go
,当我在真正的 AWS 上手动执行它时,它工作得很好。
go - AWS Lambda Go 函数在通过 API GW 调用时未获取请求正文
首先,有人可能会说这个问题与HTTP request body not getting to AWS lambda function via AWS API Gateway或Getting json body in aws Lambda via API gateway非常相似
但是,这些问题都没有解决使用 Golang 的问题,我遇到的问题是找到event
与 Node.js 文档中随处使用的参数的等效项。
这是我的 Lambda 函数:
问题:MyReturn
从 API GW 调用时,对象未填充任何值。该行log.Print("Called by ", name)
不会将任何内容附加到Called by
字符串。
对 API GW 的请求:
这是在纯 JS 中执行的,如下所示:
然而,从 AWS Lambda 控制台对其进行测试时,完全相同的主体仍然有效。
身体:
amazon-web-services - 当我尝试 ping 数据库连接时,我的 Lambda 函数超时
这似乎是一件非常简单的事情,但我的连接每次都会超时。
这是 Lambda 函数中的代码(用 Go 编写)
显然我已经删除了真实的用户名、密码、地址和数据库名称,但我已经验证它们都是正确的(我可以通过 MySQLWorkbench 使用相同的详细信息连接到数据库)。
我假设它与权限或什么有关?我的 Lambda 函数确实有权访问完整的 RDS 功能。
我还尝试删除 defer db.Close() 认为它可能会无限期地打开连接,但这似乎并没有太大变化。
我让它在没有db.Ping 的情况下工作,因为 sql.Open 实际上并没有创建连接。
我是 AWS 的新手,所以我无法弄清楚如何调试它。我在哪里可以找到显示阻塞位置的记录事件?还是我在这里建立的连接有问题?
aws-lambda - AWS Lambda Go:VM 在挂载文件夹时出错,/var/task/main 没有这样的文件或目录。如何解决?
我创建了一个“hellogo”lambda,并尝试使用在本地运行它
sam package sam deploy sam local start-api 访问:http://localhost:3000/hellogo
docker 在首选项中共享 hellogo 文件夹。
访问时,我从 docker 看到以下错误,我需要做什么来解决这个问题?
更多细节:
山姆包
山姆部署
山姆本地启动-api
aws-lambda - 从用 go 编写的 lambda 调用 python 应用程序
我正在完全在 golang 中开发基于 aws 的应用程序,尽管我有一段 python 代码需要在 lambda 函数中作为单独的子进程调用。
python 代码是作为 CLI 应用程序编写的,很难从中制作 lambda,所以我想在我的基于 golang 的 lambda 函数中将它作为子进程运行。
有没有办法做到这一点?据我所知,我可以创建一个图层,但是如何将 python 安装到该图层?
amazon-web-services - 找不到 Golang 的 API 网关映射模板
我在 AWS API Gateway 上为 Twilio 创建了一个 webhook,它以application/x-www-form-urlencoded
Content-Type 发送请求。我无法为 Golang 编写或找到映射模板。我正在关注此文档 -用于创建 API 网关的链接。我目前正在使用文档中使用的以下模板 -
我正在使用的 API Gateway 映射模板:
API Gateway 映射模板创建的 JSON:
Lambda 代码(Golang)
API 网关日志
Lambda 函数日志
在 Lambda 日志中,我可以看到只有创建的 JSON 主体被映射到events.APIGatewayProxyRequest
,而不是其他参数。原因是映射模板创建的JSON不是以下格式 -
如果有人能指出我的相关文件,我将不胜感激。欢迎提出建议。