Serverless Framework 如何使用外部层?

How to use an external layer with the Serverless Framework?

我想在我的无服务器项目中使用外部层arn:aws:lambda:eu-central-1:347034527139:layer:tf_keras_pillow:1

我通过在 serverless.yml 中包含以下内容来做到这一点:

functions:
  api:
    handler: functions/api/handler.run
    layers: arn:aws:lambda:eu-central-1:347034527139:layer:tf_keras_pillow:1
    events:
      - http:
          path: /image/{id}/{mode}
          method: get
          request:
            parameters:
              paths:
                id: true
                mode: true

但是在控制台查看AWS Lambda函数,部署后并没有添加层。有什么想法吗?

添加层的唯一方法是在 GUI 中手动添加。

根据文档,图层值是一个数组:https://serverless.com/framework/docs/providers/aws/guide/layers#using-your-layers

functions:
  api:
    handler: functions/api/handler.run
    layers: 
      - arn:aws:lambda:eu-central-1:347034527139:layer:tf_keras_pillow:1
    events:
      - http:
          path: /image/{id}/{mode}
          method: get
          request:
            parameters:
              paths:
                id: true
                mode: true

应该可以。