如何在 Azure API 管理上分离开发和生产环境?
Posted
技术标签:
【中文标题】如何在 Azure API 管理上分离开发和生产环境?【英文标题】:How to separate Development and Production environment on Azure API management? 【发布时间】:2020-04-11 21:21:38 【问题描述】:我正在使用基于微服务的架构开发应用程序。我知道在 Azure API 管理中我们可以注册我们的 API。现在我面临的问题是我的微服务(开发和生产)部署在 AKS(Azure Kubernetes 服务)上,并且都具有 AKS 提供的不同 IP 地址。如何区分这两种环境,以便我的前端团队有两个单独的 URL 用于开发和生产? Azure上API网关的base URI是预配置的,无法更改,如何获取两个URL?
我主要关心的是我是否需要创建两个 Azure API 管理服务实例?
【问题讨论】:
【参考方案1】:如果您不想创建多个实例,也可以尝试使用版本和修订版。
-
修订
您可以通过右键单击 API 并点击“添加修订”来创建修订。
可以通过 rev=2 url 说明符访问修订,如上图所示。成功测试后,您可以轻松地将修订设置为“当前”API,不再需要修订说明符。
-
版本
您可以通过右键单击 API 并点击“添加版本”来创建版本。
在“版本方案”下拉菜单中,您还可以选择指定版本的方式。选项有:
路径 查询字符串 标题这样您就可以分别定位每个版本。
【讨论】:
【参考方案2】:您检查过Azure API Management DevOps Resource Kit 吗?按照建议,是的,您需要为您的环境创建两个实例并使用 ARM 模板进行部署
【讨论】:
我同意这是企业设置的最佳答案。但是,如果您有一个小型(爱好)项目,并且考虑到节省成本,我会使用版本控制。以上是关于如何在 Azure API 管理上分离开发和生产环境?的主要内容,如果未能解决你的问题,请参考以下文章
如何分离 Visual Studio 2013 项目的开发和生产 *.sln
Azure API 管理 - 与底层服务进行身份验证和授权同步
如何使用 Azure API 管理设计微服务架构中的身份验证和授权策略?
Xamarin iOS 在 Azure 中是不是可以为同一个 Web API 提供两个通知中心,一个处于生产模式,另一个处于开发模式?