在为请求创建Python层时,我遇到了这个错误,如下所示:https://dev.to/razcodes/how-to-create-a-lambda-layer-in-aws-106m
我检查了这个答案:Conversion failed: Some directories do not have execute permissions。但是Windows没有chmod
。即使我运行了等效的icacls
,它仍然不能工作……
下面是我运行的完整命令:
New-Item -ItemType Directory -Force -Path "aws-lambda-layer/lambda-layer/python/lib/python3.8/site-packages"
pip3 install requests --target "aws-lambda-layer/lambda-layer/python/lib/python3.8/site-packages"
icacls "aws-lambda-layer" /grant:r Everyone:F /t
Compress-Archive -Path "aws-lambda-layer/lambda-layer/*" -DestinationPath "aws-lambda-layer/lambda-layer.zip" -Force
icacls "aws-lambda-layer" /grant:r Everyone:F /t
$bucket = "some-bucket-name-asdf"
aws s3api create-bucket --bucket $bucket --create-bucket-configuration "LocationConstraint=us-west-2"
aws s3 cp "aws-lambda-layer/lambda-layer.zip" "s3://$bucket/lambda-layer"
aws lambda publish-layer-version --layer-name "AutoTradingLambdaLayer" --content "S3Bucket=auto-trading-lambda-layer,S3Key=lambda-layer" --compatible-runtimes "python3.8"
我也在控制台UI中执行了此操作,并得到了相同的错误。
发布于 2020-09-13 03:43:48
出于好奇,我在WSL2中打开了一个Ubuntu,同样的命令也能用。
rm -rf tmp/
mkdir -p tmp/aws-lambda-layer/lambda-layer/python/lib/python3.8/site-packages
pip3 install requests --target "tmp/aws-lambda-layer/lambda-layer/python/lib/python3.8/site-packages"
chmod -R 755 tmp/
cd tmp/aws-lambda-layer/lambda-layer/ && zip -r lambda-layer.zip "./" && cd ../../..
chmod -R 755 tmp/
aws lambda publish-layer-version --layer-name "AutoTradingLayerV2" --zip-file fileb://tmp/aws-lambda-layer/lambda-layer/lambda-layer.zip --compatible-runtimes "python3.8"
更奇怪的是,甚至在创建了层之后。我的cdk deploy
在Windows下可能会失败,但在Linux下工作得很好。
2020-09-12 14:55:11 UTC-0700 dev-XXXStack ROLLBACK_IN_PROGRESS The following resource(s) failed to create: [XXXFunction6E68C5BD, XXXFunctionC9F0CF18, XXXFunction5D6ADE12, XXXFunction4434B1DB]. . Rollback requested by user.
2020-09-12 14:55:10 UTC-0700 XXXFunction5D6ADE12 CREATE_FAILED Layer conversion failed: Some directories do not have execute permissions; (Service: AWSLambdaInternal; Status Code: 400; Error Code: InvalidParameterValueException; Request ID: bf5051dd-ec8a-43d3-953b-38ff5d03c27f; Proxy: null)
2020-09-12 14:55:09 UTC-0700 XXXFunction4434B1DB CREATE_FAILED Layer conversion failed: Some directories do not have execute permissions; (Service: AWSLambdaInternal; Status Code: 400; Error Code: InvalidParameterValueException; Request ID: c7db1bbf-f460-474c-9d04-a32b6ba92d28; Proxy: null)
2020-09-12 14:55:08 UTC-0700 XXXFunction6E68C5BD CREATE_FAILED Layer conversion failed: Some directories do not have execute permissions; (Service: AWSLambdaInternal; Status Code: 400; Error Code: InvalidParameterValueException; Request ID: 7fde3735-2273-437d-b51b-8aec83e2fb61; Proxy: null)
2020-09-12 14:55:07 UTC-0700 XXXFunctionC9F0CF18 CREATE_FAILED Layer conversion failed: Some directories do not have execute permissions; (Service: AWSLambdaInternal; Status Code: 400; Error Code: InvalidParameterValueException; Request ID: 2c65b709-e2c9-46ea-bcc6-4a9d1f8618e6; Proxy: null)
https://stackoverflow.com/questions/63779926
复制相似问题