当前位置: 首页 > 知识库问答 >
问题:

使用localstack运行lambda函数

宓茂才
2023-03-14

我尝试用LocalStack运行lambda函数。我安装了awscli-local和localstack

pip3安装awscli-local

pip3安装--用户localstack--忽略-安装六个

然后我启动了localstack

lamdba_executor=Docker本地堆栈启动--Docker

当我现在要创建lambda函数时

aws lambda create-function--function-name Test--zip-file fileb://mylambda.zip--handler index.handler--运行时“NodeJS6.10”--endpointhttp://localhost:4574--角色管理

我得到这个错误

调用CreateFunction操作时出错(ResourceConflictException):函数已存在:Test

列出函数不返回任何信息

aws lambda列表-函数--endpointhttp://localhost:4574

有人知道为什么localstack认为函数已经在那里了吗?

共有2个答案

郗阳德
2023-03-14

我也看到了这个问题。但并不是每次我尝试在LocalStack中创建lambda时都发生这种情况。我注意到的是lambda创建似乎需要相当长的时间,在我的mac上创建lambda时会消耗大量的CPU。我的初步猜测是,由于创建ambda所花费的时间,在lambda创建过程中,有些东西超时了,就好像在内部重试创建,它发现lambda退出了一样。如果我在收到这个错误消息后用awslocal查询lambda,我会看到它存在。

我在一个内存为32GB的MBP上运行这个程序,并将Docker引擎的资源分配增加到16GB和8个处理器,希望用额外的资源来解决这个问题,但这似乎没有什么帮助。欢迎提出建议。

张智
2023-03-14

您可以从Commodeer应用程序直接在localstack中调用lambdas。它使用Docker在引擎盖下安装localstack。

lambda细节上有一个按钮,允许您指定负载,然后查看cloudwatch日志。

 类似资料:
  • 我使用Amazon模板使用C#Dotnet3.1创建了一个AWS Lambda解决方案 这将创建一个lambda函数,其处理程序为以及一些文件和 部署它的标准方法是安装 然后运行 请注意,配置文件是可选的,但我在该配置文件下配置了AWS。这将提示输入CloudFormation堆栈名称(例如:foo)和S3 bucket(例如:my-bucket)并将其部署到自定义配置文件下配置的“真实”AWS

  • 我试图使用localstack对SQS运行一些测试。然而,我一直得到一个502。这适用于同事,但在我的本地机器、我们的管道或docker上不起作用。错误到处都是一样的,所以我发送docker版本,因为它可能更容易显示安装了什么。 基本上,我正在创建一个docker镜像,安装java、python,并从/repo文件夹执行gradle构建,执行集成测试。 我的测试代码如下所示: 故障原因: 有什么想

  • 根据下面的命令/输出,我在localstack中看到了lambda函数 当我尝试执行它时,如下所示,我得到一个错误,我的localstack正在docker容器内运行 AWS-Endpoint-url=http://localhost:4574 lambda invoke-function-name books1/tmp/output.json 这个lambda是用编写的,当我在真正的AWS上手动

  • 我创建了一个简单的python 3.7 lambda函数: 此函数用于从s3存储桶中读取json文件。json文件如下所示: {id: 1, name: John, pwd:密码} 响应:{“statusCode”:200,“headers”:{“Content Type”:“application/json”},“body”:{“id”:1,“name”:“John”,“pwd”:“passwo

  • 有人能告诉我如何做以下事情吗。 我创建了一个云开发工具包应用程序,它有一个API网关和一个Lambda函数 我想使用aws cdk本地包和Localstack在本地测试这一点 我已经正确安装了所有内容,可以将我的CDK应用程序部署到Localstack 如何获取测试APIGateway的endpoint。使用cdkplace部署后,我在控制台中看到的endpoint不正确使用类似http://lo

  • 4.7. 使用 lambda 函数 4.7.1. 真实世界中的 lambda 函数 Python 支持一种有趣的语法,它允许你快速定义单行的最小函数。这些叫做 lambda 的函数,是从 Lisp 借用来的,可以用在任何需要函数的地方。 例 4.20. lambda 函数介绍 >>> def f(x): ... return x*2 ... >>> f(3) 6 >>> g =