amazon/aws-lambda-providedAWS Lambda 自定义运行时基础镜像是由 AWS 提供的官方容器镜像,用于将函数打包为容器镜像并在 AWS Lambda 上运行。这些镜像包含运行 Lambda 函数所需的全部核心组件,旨在简化自定义运行时场景下的函数开发、测试与部署流程。
基础镜像格式为 public.ecr.aws/lambda/provided:al2(基于 Amazon Linux 2),典型 Dockerfile 结构如下:
dockerfileFROM public.ecr.aws/lambda/provided:al2 # 复制自定义运行时引导程序至运行时目录 COPY bootstrap ${LAMBDA_RUNTIME_DIR} # 复制函数代码至任务目录 COPY function.sh ${LAMBDA_TASK_ROOT} # 设置函数处理程序(可通过运行时参数覆盖) CMD [ "function.handler" ]
使用以下命令构建容器镜像:
bashdocker build -t <镜像名称> .
运行容器并映射端口 9000(Lambda Runtime API 本地默认端口):
bashdocker run -p 9000:8080 <镜像名称>
在另一个终端通过 HTTP POST 请求调用函数:
bashcurl -XPOST "http://localhost:9000/2015-03-31/functions/function/invocations" -d '{"payload":"hello world!"}'
| 环境变量 | 描述 | 默认值 |
|---|---|---|
LAMBDA_RUNTIME_DIR | 运行时目录,用于存放引导程序(bootstrap) | /var/runtime |
LAMBDA_TASK_ROOT | 任务目录,用于存放函数代码及依赖文件 | /var/task |
_HANDLER | 函数处理程序路径,格式为 文件名.函数名,可通过 CMD 或运行时参数设置 | 无默认值 |
构建完成的镜像需推送至 Amazon ECR(Elastic Container Registry)后方可部署到 Lambda。具体步骤参考 AWS 官方文档:
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务