Aws lambda 无服务器框架-参考层SAN版本,或始终为最新版本

Aws lambda 无服务器框架-参考层SAN版本,或始终为最新版本,aws-lambda,serverless-framework,Aws Lambda,Serverless Framework,我在一个独立于任何函数的文件中定义了一个层,我的函数依赖于该层 如果我部署该层,我将获得该层的新版本号,并且我必须重新部署依赖于该层的所有项以使用新的层版本 是否有一种方法让函数通常引用单独定义的层,而不使用版本号,或者让函数始终引用最新版本 下面是定义层的serverless.yaml(括号中有一些替换) 多谢各位 无论何时部署模板,它都会为层创建新版本。 所以,我建议单独部署层,然后在lambda中使用类似的版本 层: -arn:aws:lambda:{aws::Region}:{aws::

我在一个独立于任何函数的文件中定义了一个层,我的函数依赖于该层

如果我部署该层,我将获得该层的新版本号,并且我必须重新部署依赖于该层的所有项以使用新的层版本

是否有一种方法让函数通常引用单独定义的层,而不使用版本号,或者让函数始终引用最新版本

下面是定义层的
serverless.yaml
(括号中有一些替换)


多谢各位

无论何时部署模板,它都会为层创建新版本。 所以,我建议单独部署层,然后在lambda中使用类似的版本

层:

-arn:aws:lambda:{aws::Region}:{aws::AccountId}:layer:layerName:1(层版本)

您好,我想您可以使用
Ref
按名称获取
arn
,例如
{Ref:LayerDevNPM}
。另外,为什么要删除层而不是更新代码?谢谢@佩波,谢谢你的评论。我的理解是,如果层是在引用它的同一个文件中定义的,我只能使用{Ref:LayerDevNPM}。我的图层在单独的文件中定义(更新后的帖子反映了这一点)。如果我错了,那么我希望看到一个例子或解释如何做到这一点。Hi@skip,我认为您可以使用
Fn::ImportValue
,但您需要确保其他堆栈正在导出您需要的值(例如层)。一些文档链接:
service: layer-dev-npm

provider:
  name: aws
  runtime: nodejs12.x
  region: us-east-1
  profile: [profile-name]
  deploymentBucket:
    name: [bucket-name]

layers:
  LayerDevNPM:
    path: nodejs
    description: "npm dependencies"