8

我正在尝试在AWS CloudFormation中创建AWS Lambda 层,但发生错误:

图层转换失败:部分目录没有执行权限;(服务:AWSLambdaInternal;状态代码:400;错误代码:InvalidParameterValueException;请求 ID:eff63297-bf71-4578-a665-c493a9fbdb40)

CloudFormation 模板中的 Lambda 层定义:

LambdaLayerTest:
  Type: 'AWS::Lambda::LayerVersion'
  Properties:
    CompatibleRuntimes: 
      - nodejs8.10
    Content:
      S3Bucket: cf-us-west-2-test
      S3Key: LambdaLayerTest.zip
    Description: Lambda Layer Test
    LayerName: lambdalayertest

LambdaLayerTest.zip 是一个名为“nodejs”的文件夹,其中包含 node_modules 文件夹、package.json 文件和 yarn.lock 文件。

包.json:

{
  "name": "mylayertest",
  "version": "1.0.0",
  "main": "index.js",
  "license": "ISC",
  "dependencies": {
     "aws-sdk": "2.307.0"
}
4

1 回答 1

0

压缩文件夹中的文件权限对于 AWS Lambda 可能过于严格:

Lambda 部署包的权限策略

运行chmod -R 755 <directory>以递归方式修改所有子目录和文件的读取、写入和执行权限。

于 2019-08-04T20:59:23.160 回答