如何使用API​​GEE中的环境变量将请求路由到所需的端点

时间:2018-12-06 20:10:02

标签: apigee

我遇到一种情况,我需要根据请求命中的环境将请求路由到所需的端点。例如质量检查-质量检查,从生产到生产

我已经在初始配置期间配置了代理并定义了默认目标主机。

然后,我使用JavaScript根据请求进入的环境来确定目标主机。

var env = context.getVariable('environment.name');  

if(env=="prod") {
     var host = 'https://prod.com';
}
if(env=="test") {
     var host = 'https://qa.com';
}

我已在目标端点(默认)预流程中使用此JS文件作为步骤。

我看到所有请求都发送到了我在初始过程中配置的默认主机。

我在这里缺少什么吗?

我还看到了有关使用目标服务器环境配置的信息。我已经配置了主机,但是如何在代理中引用/使用主机。

1 个答案:

答案 0 :(得分:0)

我通常在Apigee的“ 环境配置”的键值映射中设置目标端点(与您的主机相同)。

然后在键值映射操作策略

中将其分配给变量(例如,将其分配给变量名endpointUrl)。

最后,如下所示在目标请求消息中使用它。

<AssignVariable>
     <Name>target.url</Name>
     <Ref>endpointUrl</Ref>
</AssignVariable>

此方法的优势是,如果您的主机发生了更改,您只需在“键值映射”中编辑值,而无需在代码中进行编辑,并且不需要重新部署API。

但是,我仅根据我的工作经验来回答你。

也许您尝试过Apigee社区,您可能会找到适合您的解决方案。

相关问题