繁体   English   中英

如何使用 aws cli 将 aws lambda 层部署包上传到 s3 存储桶?

[英]How to upload aws lambda layer deployment package to s3 bucket using aws cli?

我正在尝试使用 aws cli(因为它超过 50 megs)将 AWS Lambda 的层部署包上传到 s3 存储桶,这是我的命令:

aws lambda publish-layer-version --layer-name “layer name” --description "Layer description” --content S3Bucket=“s3-name/location”,S3Key=“package.zip”,S3ObjectVersion=“1” --license-info "MIT" --compatible-runtimes "nodejs8.10" --zip-file "fileb:////tmp/package.zip"

我只是不确定我指定的 --content 部分(S3Bucket、S3Key 和 S3ObjectVersion)。 注意它在没有 --content 的情况下完美运行

aws lambda publish-layer-version --layer-name “layer name” --description "Layer description” --content S3Bucket=“s3-name/location”,S3Key=“package.zip”,S3ObjectVersion=“1” --license-info "MIT" --compatible-runtimes "nodejs8.10" --zip-file "fileb:////tmp/package.zip"

使用上面的代码,我收到以下错误消息:

调用 PublishLayerVersion 操作时发生错误 (InvalidParameterValueException):请不要在提供 ZipFile 时提供其他 FunctionCode 参数。

您可以尝试创建一个 json 文件,假设“myJson.json”并放入其中:

{
  "S3Bucket": "s3-name",
  "S3Key": "location/package.zip",
  "S3ObjectVersion": "1"
}

然后像这样调用它:

aws lambda publish-layer-version --layer-name “layer name” --description "Layer description” --content file://myJson.json --license-info "MIT" --compatible-runtimes "nodejs8.10" --zip-file file://tmp/package.zip

请注意,您应该执行创建“myJson.json”的命令(因此使用“cd”命令移至其位置

顺便说一下:

--zip-file "file:////tmp/package.zip"

可以替换为

--zip-file file://tmp/package.zip

希望这可以帮助

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM