在设置路由时无法选择阶段

0

【以下的问题经过翻译处理】 我已经设置了一个具有自定义域的API网关。自定义域的设置如下:

API: TulipPager
Stage: v1
Path: tulip/v1
Default endpoint: Enabled

在API网关配置中,我创建了两个阶段:v1和v2。现在的设置是,当我访问:

https://mycustom.domain.com/tulip/v1/test

我会收到响应 - 它正常工作!

现在,我想做的下一步是为阶段v1和v2设置不同的路由。实际上,表格基本相同,但必须指向不同的集成(一个是v1 lambda,一个是v2 lambda)。

我的问题是:当我进入控制台 > API Gateway > 此API的路由时,有一个用于选择阶段的下拉菜单,但它是灰色的。我无法弄清楚如何为阶段v1和v2设置单独的路由。

有人可以解释为什么阶段下拉菜单会变灰,即使我定义了两个阶段也是如此吗?是否两个阶段都处于自动部署状态有关吗?(我两种方式都尝试过,似乎没有影响)。

在集成配置页面中,下拉菜单也是灰色的。事实上,那是我真正关心的地方。我实际上希望整个API使用相同的路由,但我希望根据阶段选择不同的函数。这是我计划支持API的不同版本的方式。

profile picture
專家
已提問 5 個月前檢視次數 14 次
1 個回答
0

【以下的回答经过翻译处理】 只有一个API定义可以部署到多个阶段。你可以更改定义,然后部署。实际上,除非重新部署,否则无法更改已部署的API。

要实现你想要的效果,你需要使用阶段变量。因此,你将创建一个变量,并在每个阶段中为其分配不同的名称。集成将使用阶段变量作为定义的一部分。例如,你可以创建一个名为 functionName 的阶段变量。在阶段v1中,值将是 Function1。在阶段v2中,值将是 Function2。在集成配置中,你将使用 ${stageVariables.functioName} 来代替函数名称。你可以在这里找到更多信息(https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-stages.html)。

profile picture
專家
已回答 5 個月前

您尚未登入。 登入 去張貼答案。

一個好的回答可以清楚地回答問題並提供建設性的意見回饋,同時有助於提問者的專業成長。

回答問題指南