确保你已经为Lambda函数和Layer分配了相应的IAM权限。
如果您使用的是AWS CLI,则可以使用以下命令为Lambda函数添加所需的IAM策略:
aws lambda add-layer-version-permission \
--layer-name your-layer-name \
--version-number your-version-number \
--statement-id your-statement-id \
--principal "aws-account-id:root" \
--action lambda:GetLayerVersion
请将 your-layer-name
,your-version-number
和your-statement-id
替换为您的层名称,版本编号和策略语句ID。
如果您正在使用AWS控制台,请参阅AWS Lambda文档以了解如何添加IAM策略。
确保您的Layer在正确的区域部署,并且函数引用正确的ARN版本。
如果问题仍然存在,请检查与Layer关联的Bucket和相关密钥是否存在。
最后,您可以尝试使用以下命令来测试Lambda函数是否可以访问Layer:
aws lambda invoke \
--function-name your-function-name \
--payload '{"input": "data"}' \
--cli-binary-format raw-in-base64-out \
response.json
请将 your-function-name
替换为您的Lambda函数名称。通过此命令,您可以检查Lambda函数是否可以成功访问Layer并执行其功能。