【问题标题】:Run lambda function with localstack使用 localstack 运行 lambda 函数
【发布时间】:2019-02-12 19:34:05
【问题描述】:

我尝试使用 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 测试 --zip-file fileb://myLambda.zip --handler index.handler --runtime 'nodejs6.10' --endpoint http://localhost:4574 --role admin

我收到此错误

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

列出函数不会返回任何结果

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

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

【问题讨论】:

    标签: amazon-web-services aws-lambda localstack


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

      • 这是一个非常古老的问题,这个答案没有解决它,更多的是说“我也有这个问题”。
      • 你能找到解决办法吗?
      • 我没有,虽然自从遇到这个问题后我并没有经常使用 localstack。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-26
      • 2017-10-23
      • 1970-01-01
      • 1970-01-01
      • 2020-11-10
      • 2021-09-20
      相关资源
      最近更新 更多