Бессерверная ошибка: нет совпадений с файлами, включая шаблоны исключения/исключения

Я пытаюсь развернуть каркас с использованием python. Вот мой serverless.yaml

Моя структура папок

serverless-test
|_lambdas
|____handler.py
|_layers
|____common
|_________somefunction.py
service: serverless-test

frameworkVersion: '2'

provider:
  name: aws
  runtime: python3.8
  lambdaHashingVersion: 20201221

  stage: test
  region: us-west-2

functions:
  hello:
    handler: lambdas/handler.hello

Это прекрасно работает. Теперь, как только я добавляю слой, я получаю следующую ошибку

No file matches include / exclude patterns

service: serverless-test

frameworkVersion: '2'

provider:
  name: aws
  runtime: python3.8
  lambdaHashingVersion: 20201221

  stage: test
  region: us-west-2

functions:
  hello:
    handler: lambdas/handler.hello
    layers:
      - {Ref: CommonLambdaLayer}

layers:
  common:
    path: layers/common
    name: common-module
    description: common set of functions

Я также попытался добавить шаблоны включения и исключения. Но это не решило мою проблему

service: serverless-test

frameworkVersion: '2'

provider:
  name: aws
  runtime: python3.8
  lambdaHashingVersion: 20201221

  stage: test
  region: us-west-2

package:
  individually: true
  exclude: 
    - ./**
  include:
    - ./lambdas/**

functions:
  hello:
    handler: lambdas/handler.hello
    layers:
      - {Ref: CommonLambdaLayer}

layers:
  common:
    path: layers/common
    name: common-module
    description: common set of functions
    package:
      include:
        - ./**

Я также пытался быть очень конкретным

service: serverless-test

frameworkVersion: '2'

provider:
  name: aws
  runtime: python3.8
  lambdaHashingVersion: 20201221

  stage: test
  region: us-west-2

package:
  individually: true
  exclude: 
    - ./**

functions:
  hello:
    handler: lambdas/handler.hello
    layers:
      - {Ref: CommonLambdaLayer}
    package:
      exclude:
        - ./**
      include:
        - ./lambdas/handler.py

layers:
  common:
    path: layers/common
    name: common-module
    description: common set of functions
    package:
      exclude:
        - ./**
      include:
        - ./layers/common/somefunction.py

person Abhijith Nagaraja    schedule 01.02.2021    source источник


Ответы (1)


У меня была такая же проблема, и я нашел этот ответ здесь:

serverless проверяет эти файлы на соответствие шаблонам, указанным в корневом package:exclude и поскольку./** соответствует каждому файлу, а include-pattern./functions/**/* не соответствует ни одному, на самом деле файлы не включены в слой, что вызывает ошибку.

Просто попробуйте удалить ./** из исключений:

package:
  individually: true
  exclude: 
    - ./** # <-- remove this!
person pureth    schedule 05.02.2021