问题标签 [aws-lambda-containers]

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.

0 投票
5 回答
348 浏览

docker - Lambda docker base - 无法安装 matplotlib

我正在使用 docker 支持的 lambdas 和 AWS 为 python3.8 提供的基本映像。

看起来它试图从头开始构建 matplotlib,然后因 gcc 相关错误而失败。

复制很简单,只需尝试构建以下 Dockerfile:

错误:

0 投票
1 回答
196 浏览

python - 如何防止多次调用 AWS Lambda 函数容器

[更新 1:] 当我将超时时间增加到 1 分钟时,CloudWatch 在脚本成功运行两次后在中间显示以下内容,然后是一个:


原帖

我有一个通过自定义容器映像运行的 Lambda 函数。其中单个 Python 脚本的要点如下:

这是阶梯函数中的第一个状态,它将由 CloudWatch Events 定期触发,因此不需要任何输入。

它是从容器中调用的

当我从控制台测试此功能时,我在 CloudWatch 中看到所有预期的日志消息,包括最后一条指示成功执行的日志消息,但是此过程会重复几次,总体上被视为失败(顶部的红色横幅) .

它在 3 秒后超时,因为这是默认限制,但不是在脚本成功运行几次之前。没有内存问题(使用 20-30 MB,共 128 MB)或其他错误。

在早期版本中,对 的调用lambda_handler包含在 中sys.exit(),但在阅读了一些关于它的线程干扰了 Lambda 处理函数的方式后,我将其删除。唯一的区别是我可以在 CloudWatch 中看到 JSON 响应,而现在我只能看到日志消息。

我已经阅读了大量的线程和文档,但我仍然无法解决这个问题。任何帮助将不胜感激。

0 投票
0 回答
24 浏览

docker - lambda容器中的超时“导入张量流”

这是我的 Dockerfile

这是我的要求.txt

如果我用 ecr 制作 lambda 容器并制作 lambda 函数,它会因为导入 tensorflow 而超时......其他导入效果很好

0 投票
0 回答
112 浏览

amazon-web-services - AWS Codebuild Dotnet Core Lambda Docker COPY 失败:stat /var/lib/docker/tmp/docker-builder 没有这样的文件或目录

我使用 dotnet new -i Amazon.Lambda.Templates 和 dotnet new serverless.AspNetCoreWebAPI 创建了 Dotnet Core AWS Lambda 应用程序,我正在为此 Lambda 函数使用自定义 docker 容器映像。

我可以使用 dotnet lambda deploy-serverless 命令部署 Lambda 函数,但是我想构建映像并将映像推送到 AWS Codebuild。为此,我编写了一个 buildspec.yml 文件,如下所示。

我有这样的 Dockerfile.codebuild 文件

${CODEBUILD_SRC_DIR} 的值似乎类似于 /codebuild/output/srcXXXXXX/src/git-codecommit.xx-xxxxx-1.amazonaws.com/v1/repos/myrepo/bin/Release/net5.0/linux -x64/发布

但是,行 COPY ${CODEBUILD_SRC_DIR} 。在 Dockerfile.codebuild 中显示这样的错误。

复制失败:stat /var/lib/docker/tmp/docker-builderXXXXXXXX/codebuild/output/srcXXXXXX/src/git-codecommit.xx-xxxxx-1.amazonaws.com/v1/repos/myrepo/bin/Release/net5 .0/linux-x64/publish: 没有这样的文件或目录

我怎样才能避免/var/lib/docker/tmp/docker-builderXXXXXXXX路径中的路径并且只有codebuild/output/srcXXXXXX/src/git-codecommit.xx-xxxxx-1.amazonaws.com/v1/repos/myrepo/bin/Release/net5.0/linux-x64/publish路径以便我可以复制文件夹?

0 投票
1 回答
30 浏览

amazon-web-services - Lambda - SQS 事件:批量大小、容器产生和终止的数量

这是我的 Lambda 函数:

我设置BatchSize1.

我所做的 1 个假设是,单个 Lambda 容器生成由其特定的STARTEND requestId确定。如果有 5 个这样的STARTEND requestId,则意味着生成了 5 个唯一容器。

现在这是否意味着在STARTEND requestId中,会准确处理消息,并且对于下一条消息,即使前一个容器具有执行更多请求的内存和时间,也会1使用新的 START 和 END 生成一个新容器?requestId

0 投票
0 回答
7 浏览

aws-lambda-containers - 使用 AWS Lambda RIE 容器进行本地测试的 XML 有效负载

如何使用带有 XML-Body 的 RIE 容器而不是 JSON?

给出一个错误:

对于 JSON,这可以正常工作,但对于 XML 则不行。

0 投票
1 回答
31 浏览

docker - 如何设置 docker lambda 函数名称

我基于 python 3.8 docker 映像(amazon/aws-lambda-python:3.8)部署了一个简单的 python lambda

我可以使用 curl 在本地成功调用它,如下所示(返回 200OK 和有效结果):

curl -XPOST "http://localhost:9000/2015-03-31/functions/function/invocations" -d '{"Hi": "abc"}'

这很好,但为了尽量减少环境之间的差异,我希望能够使用与生产环境中相同的名称从 Java 代码中调用它。上面的 URL 将函数称为function.

有没有办法将函数名称烘焙到 lambda docker 映像中?

0 投票
1 回答
51 浏览

amazon-web-services - 如何在 go1.x 的 lambda 容器映像中将解组事件用于 AWS 定义的类型,并提供为基础

我使用 API Gatway 通过代理集成触发 Lambda

我从 public.ecr.aws/lambda/provided:al2 为 Golang 构建了一个 lambda 容器映像,因为无法在 public.ecr.aws/lambda/go:latest 中安装依赖关系。

Docerfile我的内容的 PFB

我面临的问题是事件处于编组状态。如果我对预期函数的 lambda 进行 api 调用,events.APIGatewayProxyRequest由于输入的类型是map[string]interface{}.

我的猜测是,这与运行时接口客户端和引导程序有关。我从AWS Lambda 指南中获得了相同的以下参考

AWS 没有为 Go 提供单独的运行时接口客户端。aws-lambda-go/lambda 包包含运行时接口的实现。

上面的图像得到构建,并使用以下代码使 API 工作。

这是构建图像的正确方法以及如何在我的代码中以 AWS 定义的类型接收事件吗?

0 投票
0 回答
96 浏览

python-3.x - Lambda Docker 映像未运行

我在尝试安装 Snowflake python 连接器时度过了一段非常糟糕的时光。这有点令人沮丧,但我终于设法通过使用完整的 Ubuntu 基础 Docker 映像来安装它。不过,我现在无法弄清楚如何使 AWS lambda 包装器工作。

项目结构。

入口.sh

Dockerfile

应用程序.py

命令

和错误:

0 投票
0 回答
37 浏览

amazon-web-services - Aws Lambda Allias 卡在 Update In Progress 阶段

这是我在下面的应用程序共享的 cft,它是第一次成功创建,当我更新 cft(代码更改)时,LambdaAllias 卡在 Update In Progress 阶段。有人可以指导我吗?

我删除了引用变量和参数部分,只保留了我遇到问题的函数名。