如何使无服务器自动引用 lambda 层?



我有一个使用serverless部署的 lambda 应用程序。结构如下图所示:

apps/
apps/package.json
apps/serverless.yml
layers
layers/package.json
layers/serverless.yml

有两个文件夹appslayers。在layers中,它定义了下面的λ层。而在apps,它是应用程序代码。我通常会转到layers文件夹,然后运行serverless deploy命令,该命令为我提供了层 ARN。然后,我手动将 ARN 粘贴到apps/serverless.yml。我正在寻找一种可以自动获取层 ARN 的模式。如何在无服务器中做到这一点?

您可以导出图层输出并在应用程序中引用输出 serverless.yml

我的图层无服务器.yml

service: gt-layers
layers:
ffmpeg:
path: layer
resources:
Outputs:
FfmpegLayerExport:
Value:
Ref: FfmpegLambdaLayer
Export:
Name: FfmpegLambdaLayer

我的应用无服务器.yml

video_upload_notification:
handler: handler.video_upload_notification
layers:
- ${cf:gt-layers-${self:provider.stage}.FfmpegLayerExport}

您可以在此处参考博客

最新更新