【问题标题】:How to deploy aws lambda functions different stages but same api gateway [closed]如何部署不同阶段但相同的api网关的aws lambda函数[关闭]
【发布时间】:2020-04-16 12:39:14
【问题描述】:

我是无服务器框架的新手。

如何将多个阶段部署到相同的 aws 端点,例如:

1nuu2d832j.execute-api.ap-southeast-1.amazonaws.com/prod

1nuu2d832j.execute-api.ap-southeast-1.amazonaws.com/dev

这里是我的配置 serverless.yml

service: wallet-api
custom:
  stages: 
    - local
    - dev
    - prod
plugins:
  - serverless-offline
  - serverless-dotenv-plugin
  - serverless-stage-manager
provider:
  name: aws
  region: ap-southeast-1
  runtime: nodejs12.x
  environment:
    NODE_ENV: ${env:NODE_ENV}
    MONGO_URI: ${env:MONGO_URI}
functions:
  graphql:
    handler: dist/graphql.handler
    events:
    - http:
        path: /
        method: post
    - http:
        path: /
        method: get

在我看来,我知道这是多阶段的部署,但可以完成相同的 api,但还不知道如何。

希望有人能帮忙,谢谢。

【问题讨论】:

    标签: amazon-web-services api aws-lambda aws-api-gateway serverless


    【解决方案1】:

    你需要使用一个叫做stage variables的概念,
    这些是键/值变量,其值可能因环境而异,
    例如。 dev 端点指向dev_someFunction,
    stage 端点指向stage_someFunction

    参考 -
    https://aws.amazon.com/blogs/compute/using-api-gateway-stage-variables-to-manage-lambda-functions/

    https://serverless-stack.com/chapters/stages-in-serverless-framework.html

    【讨论】:

    • 感谢您的回答。但我正在通过无服务器框架寻找结果。我已经更新了我的配置 serverless.yml 来看看
    • 对于其他阅读本文的人,无服务器在答案的第二个链接中明确表示,他们只支持每个部署的单个阶段。
    猜你喜欢
    • 2019-05-29
    • 2016-12-19
    • 2017-10-27
    • 1970-01-01
    • 2020-06-21
    • 2020-11-24
    • 2019-03-08
    • 1970-01-01
    • 2019-03-06
    相关资源
    最近更新 更多