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

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
EXPERTE
gefragt vor 5 Monaten14 Aufrufe
1 Antwort
0

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

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

profile picture
EXPERTE
beantwortet vor 5 Monaten

Du bist nicht angemeldet. Anmelden um eine Antwort zu veröffentlichen.

Eine gute Antwort beantwortet die Frage klar, gibt konstruktives Feedback und fördert die berufliche Weiterentwicklung des Fragenstellers.

Richtlinien für die Beantwortung von Fragen