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

时间:2015-12-18 19:41:45

标签: amazon-web-services aws-lambda 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文件必须是带有fileb://前缀的文件。

是否有人使用AWS CLI创建lambda函数?

3 个答案:

答案 0 :(得分:8)

你有一个额外的冒号':'在文件规范中。

$ 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'

答案 1 :(得分:1)

我在Ubuntu 18.04上遇到了同样的问题,窍门是用双引号fileb:///括住函数名和"

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

答案 2 :(得分:0)

在Mac上,我必须使用绝对路径,但是添加到前缀中实际上有3个斜杠。

前缀:

fileb://

路径

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

完成

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