如何使用 AWS CLI 创建 AWS Lambda 函数?

How can I create an AWS Lambda function using the AWS CLI?

我正在尝试使用命令创建 AWS Lambda 函数

aws lambda create-function \
  --function-name foo\
  --runtime nodejs\
  --role lambda_basic_execution \
  --handler asdf --zip-file "fileb:://boom.zip"

目录中有一个名为 boom.zip 的文件。但是我无法使用上述命令进行部署。

我收到的失败信息是

--zip-file must be a file with the fileb:// prefix.

有人有使用 AWS CLI 创建 lambda 函数的工作示例吗?

您在文件说明中多了一个冒号“:”。

$ aws lambda create-function --function-name foo --runtime nodejs --role lambda_basic_execution --handler asdf --zip-file "fileb:://boom.zip"

--zip-file must be a file with the fileb:// prefix.
Example usage:  --zip-file fileb://path/to/file.zip

$ aws lambda create-function --function-name foo --runtime nodejs --role lambda_basic_execution --handler asdf --zip-file "fileb://boom.zip"

Error parsing parameter '--zip-file': Unable to load paramfile fileb://boom.zip: [Errno 2] No such file or directory: 'boom.zip'

在 mac 我不得不使用绝对路径,但添加到前缀实际上有 3 个斜杠。

前缀:

fileb://

路径

/Users/myuser/Apps/folder/zips/file.zip

完成

fileb:///Users/myuser/Apps/folder/zips/file.zip

我在 Ubuntu 18.04 上遇到了同样的问题,诀窍是用双 " 引号将函数名称和 fileb:/// 括起来。

aws lambda update-function-code --function-name "FUNCTION" --zip-file "fileb:///an/absolute/path/to/your/lambda/FUNCTION.zip"

对我来说,出现这个问题(在 windows)是因为我没有正确创建 zip 文件。我使用 winrar 工具创建了 .rar 文件,将扩展名更改为 .zip,并尝试按照 @helloV 所说的相同方式上传 zip(没有双 ::),但我得到了同样的错误信息。如果您在 windows 中,请确保遵循 this 指南(对于 golang),或使用任何其他合适的工具创建正确的 zip 文件并再次尝试命令。