使用模拟集成部署 API 网关时没有文件匹配 include/exclude 模式

No files match include/exclude patterns when deploying API Gateway with mock integration

我想部署一个带有模拟集成的 APIGateway,以便使用 this 示例通过无服务器进行测试。

然而,当我尝试部署它时,出现以下错误:

No file matches include / exclude patterns

我不明白,因为我不想包含或排除任何内容。我只想创建具有模拟集成的网关,它应该给我一个 returns 特定响应的端点。我不想部署任何 lambda。这是完整的无服务器:

service: sls-apig
provider:
  name: aws
functions:
  hello:
    handler: handler.hello
    events:
      - http:
          path: hello
          cors: true
          method: get
          integration: mock
          request:
            template:
              application/json: '{"statusCode": 200}'
          response:
            template: $input.path('$')
            statusCodes:
              201:
                pattern: ''

当您在只有 serverless.yml 文件的目录中测试无服务器框架时,通常会发生该错误。这看起来像是无服务器框架的错误。

您的项目结构必须如下所示:

project
├── .serverless/
├── serverless.yml

要停止此错误,我们只需要在此目录中添加一个文件,在下面的示例中,我将添加 foo.txt 文件:

project
├── .serverless/
├── foo.txt
├── serverless.yml

并且错误 No file matches include / exclude patterns 将停止发生。

此外,我们可以使用以下代码将此文件用作响应的模板:

response:
  template: ${file(foo.txt)}
  statusCodes:
    201:
      pattern: ''