Azure api管理克隆API

时间:2015-03-17 13:50:03

标签: azure asp.net-web-api azure-api-management

我有一个Azure API管理实例,它可以在一个域中正常运行。我的问题是,为多个环境提供此API的最佳方法是什么? 例如,我的网址是:

这四个域上运行着相同的Web API,它们只是不同的服务器。 我是否为每个实例创建一个API管理实例? 或者,我是否只在一个API管理中为每个实例创建一个实例?

也许有一种有效的方法可以做到这一点,我错过了。 祝你有愉快的一天。

最诚挚的问候,

3 个答案:

答案 0 :(得分:0)

我迫切需要这个,所以我的方式是导入和导出API。所以基本上我在第一台服务器上配置了我想要的所有参数,之后我进入了API页面并导出到wadl并再次导入,更改了" Web API URL后缀"和#34; Web服务URL"。

我发现的唯一缺点是当我需要更改文档或API定义时,我需要更改四种不同的API。 我会将此反馈发送给Microsoft并查看他们的回复。

度过愉快的一天。

答案 1 :(得分:0)

因此,您上面列出的URL是运行Web API的后端服务。如果您使用单个APIM实例,那么他们将共享您为该实例设置的域,并且可以使用后缀来描述 - 例如.azure-api.net / devapi,.azure-api.net / usapi,.azure-api.net / hkapi等 - 后缀名称由您控制。这有用吗/它是你需要的吗?

答案 2 :(得分:0)

虽然是一个老问题,我正在寻找类似的答案,所以我想我会添加我在这里使用的解决方案。 您可以使用策略来解决此问题。为了解决您的问题,首先需要能够区分每个用户应该发送到哪个后端(我使用产品来执行此操作,您可能需要调查使用策略来执行此操作)。 一旦您在单个API上拥有产品,就可以使用“设置后端服务”'将每个请求转发给用户的正确环境。

要编辑策略,您可以导航到API管理门户上的页面。选择要配置的产品和API,然后选择配置策略。插入'设置后端服务'进入'入境'策略并插入后端。

<set-backend-service base-url="https://example.co.uk"/>

此Microsoft页面提供了有关重定向https://azure.microsoft.com/en-gb/blog/policy-expressions-in-azure-api-management/

的策略的一些有用信息