我是Apigee新手。
我们的主机名中包含环境,例如:
something.int.other.thing.co.uk
something.test.other.thing.co.uk
something.stage.other.thing.co.uk
something.prod.other.thing.co.uk
我希望能够将它们映射到apigee api代理本身的4个环境,分别是 int,test,stage,prod 。
我目前有一个Rest资源,例如:/resource
基本上我希望apigee api代理有一个休息资源,映射到4个不同的目标端点,具体取决于环境。
到目前为止,我已尝试从用户界面进行此操作,但未能这样做。
我一直在浏览文档,到目前为止我找到了这些文件:
http://apigee.com/docs/api-services/content/api-proxy-configuration-reference
Create a New Endpoint on an existing API Proxy with "No Target Endpoint"
One API proxy calling two different target endpoints
我也试过为此做一些事情,对于TargetEndpoint,我在那里测试了环境名称,但它不起作用:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<TargetEndpoint name="default">
<Description/>
<Flows/>
<PreFlow name="PreFlow">
<Request/>
<Response/>
</PreFlow>
<HTTPTargetConnection>
<URL>something.int.other.thing.co.uk</URL>
</HTTPTargetConnection>
<RouteRule name="int">
<Condition>environment.name == "int"</Condition>
<TargetEndpoint>something.int.other.thing.co.uk</TargetEndpoint>
</RouteRule>
<RouteRule name="test">
<Condition>environment.name == "test"</Condition>
<TargetEndpoint>something.test.other.thing.co.uk/</TargetEndpoint>
</RouteRule>
<RouteRule name="stage">
<Condition>environment.name == "stage"</Condition>
<TargetEndpoint>something.stage.other.thing.co.uk/</TargetEndpoint>
</RouteRule>
<RouteRule name="prod">
<Condition>environment.name == "prod"</Condition>
<TargetEndpoint>something.prod.other.thing.co.uk</TargetEndpoint>
</RouteRule>
<PostFlow name="PostFlow">
<Request/>
<Response/>
</PostFlow>
</TargetEndpoint>
这可能吗?
请告诉我如何做到这一点?
我们正在迁移到Apigee,我们有一个艰难的截止日期,所以任何帮助将不胜感激!
谢谢!
答案 0 :(得分:2)
Apigee支持Target Servers的概念 - 它从代理中抽象出后端主机,并提供负载平衡。可以将相同的目标服务器配置为指向每个环境的不同主机(此概念已内置于Apigee中)。
看一下,这应该会有所帮助。
SRIKANTH
答案 1 :(得分:1)
LoadBalancer和TargetServer设置在TargetEndpoint定义中,特别是在HTTPTargetConnection元素中。
查看此处的示例:
http://apigee.com/docs/api-services/content/load-balancing-across-backend-servers
如果您确实要将TargetEndpoint定义卷曲到API代理,请查看以下示例脚本以查看正在运行的API调用:
https://github.com/apigee/api-platform-samples/blob/master/tools/proxy_gen.sh
此脚本向您展示如何通过API调用创建API代理并更新ProxyEndpoint和TargetEndpoints。