我有一个使用serverless
部署的 lambda 应用程序。结构如下图所示:
apps/
apps/package.json
apps/serverless.yml
layers
layers/package.json
layers/serverless.yml
有两个文件夹apps
和layers
。在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}
您可以在此处参考博客