我正尝试使用aws cli将AWS Lambda的层部署程序包上传到s3存储桶(因为它超过50兆),这是我的命令:
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)。 N.B在没有--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参数。
答案 0 :(得分:1)
您可以尝试创建一个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
希望这会有所帮助