3

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

pip3 安装 awscli-local

pip3 install --user localstack --ignore-installed 六

然后我开始了 localstack

LAMDBA_EXECUTOR=docker localstack start --docker

当我现在想创建我的 lambda 函数时

aws lambda create-function --function-name Test --zip-file fileb://myLambda.zip --handler index.handler --runtime 'nodejs6.10' --endpoint http://localhost:4574 --role行政

我收到这个错误

调用 CreateFunction 操作时发生错误(ResourceConflictException):函数已存在:测试

列出函数不会返回任何内容

aws lambda list-functions --endpoint http://localhost:4574

有人知道为什么 localstack 认为该功能已经存在吗?

4

2 回答 2

1

您可以从Commandeer App直接在 localstack 中调用 lambdas 。它使用 docker 在后台安装 localstack。

在此处输入图像描述

lambda 详细信息上有一个按钮,可让您指定有效负载,然后查看 cloudwatch 日志。

在此处输入图像描述

于 2020-03-18T15:54:25.797 回答
-1

我也看到了这个问题。尽管每次我尝试在 localstack 中创建 lambda 时都不会发生这种情况。我注意到的是,lambda create 似乎需要相当长的时间,并且在我的 mac 创建 lambda 时会导致大量 CPU 消耗。我最初的猜测是,由于创建 ambda 需要时间,在 lambda 创建过程中出现了一些超时,就好像在内部重试了创建并且发现 lambda 退出了。如果我在收到此错误消息后查询 lambda awslocal,我发现它存在。

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

于 2020-03-22T16:20:20.817 回答