Gaz*_*dge 7 python-3.x serverless-framework
尝试使用以下命令在本地运行我的无服务器python lambda函数:
无服务器调用本地-f hello
该函数运行,但在调用处理程序之前似乎需要2-5秒.这对我来说是一个真正的问题,因为我希望用它invoke来支持本地测试.
我的处理程序非常简单:
def hello(event, context):
print('start')
body = {
"message": "Go Serverless v1.0! Your function executed successfully!",
"input": event
}
response = {
"statusCode": 200,
"body": json.dumps(body)
}
print('end')
return response
Run Code Online (Sandbox Code Playgroud)
粗略的时间:
invoke给print(start):2-5sprint(start)至print(end):<0.5sprint(end) 响应返回终端:1s 由于我找不到任何其他人有这个问题,建议它与我的本地机器有关.不知道它可能是什么,甚至在哪里开始找错.
无服务器:1.32(全局安装)Python:3.6.5
Ayu*_*pta -1
这是无服务器框架的问题(遗憾的是 AWS SAM 框架),而不是您的代码的问题。不幸的是,Node.JS 和 Go 本地调用也遇到了同样的问题。
问题并非源于代码的执行,而是源于每次调用时都需要重新配置执行环境,并且所需的时间取决于机器。
正如我所做的那样,调用的一种替代方法是在 lambda 处理程序上编写一个 API HTTP 服务器包装器。在本地环境中,您可以使用包装器启动服务器并继续测试。
编辑:
这基本上就是创建包装器所需要做的事情:
serverless.yml。使用步骤 2 中创建的函数将请求转发到您的处理程序。| 归档时间: |
|
| 查看次数: |
326 次 |
| 最近记录: |