处理AWS API网关阶段的不同端点

时间:2015-08-05 20:55:55

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

我希望能够更改每个API网关方法中定义的终点,以便名为“Dev”的临时环境指向我的内部Dev API,Prod阶段当然会路由到我的Production API。

现在我必须手动更改每个方法,然后部署到prod stag但是现在要进行任何测试我必须将它们全部重新更改为开发阶段。

我正在推进DNS切换以将Dev移至Prod,但未来的开发仍需要对每种方法进行更改。

示例:

我有一个名为User的资源和一个映射到终点的GET方法(HTTP代理) - > http://dev.mytestapp.com/api/v1/user

然后我部署到一个名为Dev的舞台 - 开发阶段给我一个URL来调用来请求这个资源,例如。 https://xxxxobl.execute-api.us-east-1.amazonaws.com/dev/user

现在我进行测试,它按预期工作,所以我想把它移到一个生产阶段,就叫做阶段。当我部署到prod时,我的调用网址现在是https://xxxxobl.execute-api.us-east-1.amazonaws.com/prod/user

但问题是API仍然将结束点映射到http://dev.mytestapp.com/api/v1/user而不是http://prod.mytestapp.com/api/v1/user

所以我的舞台和网址已经改变,但被调用的实际API被硬编码为dev。

有什么想法吗? 感谢

1 个答案:

答案 0 :(得分:8)

您可以利用stage variables将终点路由到不同的API。 This page向您展示了如何为http代理设置阶段变量。您也可以将阶段变量用于lambda函数。