【问题标题】:How can we export the full copy of PRODUCT with all the API's associated to it我们如何导出 PRODUCT 的完整副本以及与之关联的所有 API
【发布时间】:2016-02-24 04:09:33
【问题描述】:

有没有办法通过导出产品来提供完整的定义,包括与该产品相关的 API 和策略。

这样我就可以只调用两次来导出完整的产品并在其他地方导入完整的产品。

是否有任何其他最佳做法可以最大限度地减少以下导出和导入调用次数

  1. 对 REST 管理 API 进行 GET 调用,以从一个订阅中导出不同的 API。
  2. 对 REST 管理 API 进行 GET 调用以从 API 导出策略。 (很遗憾,导出 API 不会导出与其关联的策略)。
  3. 对 REST 管理 API 进行 PUT 调用,以将不同的 API 导入另一个订阅。
  4. 对 REST 管理 API 进行 PUT 调用以设置与 API 关联的策略。
  5. 对 REST 管理 API 进行 GET 调用,以从一个订阅中导出不同的产品。
  6. 对 REST Management API 进行 GET 调用,以获取与 PRODUCT 关联的 API 列表。
  7. 对 REST 管理 API 进行 PUT 调用以在另一个订阅中创建产品。
  8. 对 REST 管理 API 进行 PUT 调用,以将 API 添加到产品中。

【问题讨论】:

  • 什么是“产品”?
  • 产品是可以添加api的“组”,api管理默认有starter和无限制的product,每个product可以有不同的policy
  • 一个产品包含一个或多个 API。例如 Starter 和 unlimited 是初始订阅附带的产品。

标签: azure azure-api-management


【解决方案1】:

如果你只想用第一个克隆你的第二个服务,你可以使用备份恢复 https://azure.microsoft.com/en-us/documentation/articles/api-management-howto-disaster-recovery-backup-restore/ 它本质上是将所有元数据(Apis/Products/Subscriptions)复制到另一个服务。

或者

您可以使用 Azure Powershell 命令行开关创建脚本来导出您的 API https://msdn.microsoft.com/en-us/library/mt613477.aspx 然后使用 Import 命令行开关将其添加到第二个服务 https://msdn.microsoft.com/en-us/library/mt613484.aspx

【讨论】:

  • 我可以使用自定义工具调用 REST 管理 API 来执行相同的操作,而不是使用 PowerShell 命令行开关。这是推荐的吗?任何优点或缺点
  • @Srav 是的,您可以使用自定义工具通过 REST 调用 API。我唯一想到的缺点是如何刷新我们为您生成的共享访问令牌。
  • 我不能使用上述方法以编程方式创建访问令牌msdn.microsoft.com/en-us/library/azure/… 谢谢您的帮助!
  • FWIW,我有同样的问题,最后写了一个 bash shell 脚本来执行一堆 curl 命令来做到这一点。对我来说,shell 脚本更便携,因为我的团队一半在 Mac 上,一半在 Windows 上。
【解决方案2】:

目前没有建议或任何其他方式来减少上述工作量。

【讨论】:

  • 您是否尝试过使用 GIT 在实例之间移动 Api 配置。 link
猜你喜欢
  • 1970-01-01
  • 2013-07-23
  • 1970-01-01
  • 2011-07-18
  • 2016-06-03
  • 2020-09-28
  • 1970-01-01
  • 1970-01-01
  • 2021-01-01
相关资源
最近更新 更多