首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何定义现有的接口网关项目,用于在serverless.yml中部署?

如何定义现有的接口网关项目,用于在serverless.yml中部署?
EN

Stack Overflow用户
提问于 2019-11-10 23:58:27
回答 1查看 484关注 0票数 2

我使用serverless框架来部署angular-universal应用程序(aws lambda + API网关)。每次我从不同的PC运行部署或定义一个新阶段时,serverless都会自动在aws中创建一个新的API网关项目。

代码语言:javascript
复制
# serverless.yml

# generated by @ng-toolkit/serverless
service: web-app

plugins:
  - serverless-apigw-binary

provider:
  name: aws
  runtime: nodejs8.10
  memorySize: 512
  timeout: 20
  apiName: ssr-web-app

package:
  exclude:
   - src/**
   - node_modules/**
   - firebug-lite/**
   - e2e/**
   - coverage/**
   - '!node_modules/aws-serverless-express/**'
   - '!node_modules/binary-case/**'
   - '!node_modules/type-is/**'
   - '!node_modules/media-typer/**'
   - '!node_modules/mime-types/**'
   - '!node_modules/mime-db/**'

custom:
  apigwBinary:
    types:
      - '*/*'

functions:
  api:
    handler: lambda.universal
    events:
      - http: ANY {proxy+}
      - http: ANY /

我希望每次运行部署时,serverless都会使用相同的特定gateway API项目,在相同定义的项目下创建新的阶段。如何定义对现有gateway API项目的引用(id?)在我的serverless.yml

-编辑-我尝试将以下内容添加到provider部分:

代码语言:javascript
复制
apiGateway: 
   restApiId: xxxxxxxxxx 
   restApiRootResourceId: yyyyyyyyyy 

并收到错误“发生错误: ApiGatewayResourceProxyVar -具有相同父资源的另一个资源已具有此名称:{proxy+}”

EN

回答 1

Stack Overflow用户

发布于 2019-11-11 09:34:27

问得好!

为了共享现有的API Gateway,您需要在serverless.yml文件中声明相关的restApiId,以及restApiRootResourceId

您可以在docs, here中阅读更多内容。您也可以遵循此excellent blog post

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58790372

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档