gpt4 book ai didi

amazon-web-services - 如何从 AWS Lambda 函数 + 无服务器框架的 URL 中删除阶段?

转载 作者:行者123 更新时间:2023-12-02 23:34:26 27 4
gpt4 key购买 nike

我正在使用无服务器框架在 AWS Lambda 中部署函数,但我找不到在哪里/如何从创建的 URL 端点中删除阶段说明符。文档似乎没有涵盖这部分。

例如,这是我的serverless.yml(省略了不相关的部分):

service: cd-mock
provider:
name: aws
runtime: python3.6
region: eu-west-1
package:
include:
- handler.py
functions:
index:
handler: handler.index
events:
- http:
path: /
method: get

无服务器部署后,返回以下服务信息:

service: cd-mock
stage: dev
region: eu-west-1
stack: cd-mock-dev
api keys:
None
endpoints:
GET - https://ab1cd2ef3g.execute-api.eu-west-1.amazonaws.com/dev/
functions:
index: cd-mock-dev-index

请注意 URL 端点以及函数中的 /dev 部分。该 dev 是配置文件中 stage 参数的默认值。

serverless.yml 文件中指定 stage: Something 会将 /something 作为 URL 中的后缀,并作为功能。

问题:如何从生成的 URL 端点中删除阶段规范,或者:如何防止该阶段规范成为生成的 URL 的一部分?

(阶段是函数的一部分,这很好。这样可以轻松在 AWS Lambda 仪表板中分离staging生产 函数。)

最佳答案

您可以做的一件事是使用您拥有的自定义域(例如 mycompany.com)并将其映射到您的 API 网关。这样,您就可以向 https 发出请求,而不是向 https://ab1cd2ef3g.execute-api.eu-west-1.amazonaws.com/dev/ 发出请求://api.mycompany.com/.

有一个名为 serverless-domain-manager 的插件这使得设置此自定义域变得更加容易。查看this blog post有关如何使用它的完整演练。

关于amazon-web-services - 如何从 AWS Lambda 函数 + 无服务器框架的 URL 中删除阶段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46857335/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com