【发布时间】:2021-03-14 15:06:24
【问题描述】:
我已经创建了这个 lambda 函数:
exports.lambdaHandler = async event => {
const body =
message: "Hello"
};
return {
statusCode: 200,
headers: {
"Content-Type": "application/json"
},
body: JSON.stringify(body)
};
};
我已经用这个 Dockerfile 创建了一个 Docker 镜像:
FROM amazon/aws-lambda-nodejs:12
COPY app.js package*.json ./
RUN npm install
CMD [ "app.lambdaHandler" ]
我已将其推送到 ECR。现在,我想创建一个运行它的 lambda 函数。
我试过这个命令:
aws lambda create-function --function-name greeting --role arn:aws:iam::xxxxxxxxxxxx:role/my-role --code ImageUri=xxxxxxxxxxxx.dkr.ecr.eu-central-1.amazonaws.com/greeting:latest
我得到这个错误:
调用时发生错误(InvalidParameterValueException) CreateFunction 操作:Runtime 和 Handler 是强制参数 对于使用部署包创建的函数。
没有意义,因为它是基于 Docker 镜像的 lambda 函数,因此不需要参数。
【问题讨论】:
-
您有最新的 awscli 吗?看起来该功能只有一天的历史。
-
是的,我安装了 2.1.6 版本,这是最新的。是的,AWS 昨天宣布了这一点……
标签: amazon-web-services docker aws-lambda aws-api-gateway amazon-ecr