Azure APIM 中后端服务 URL 和 Web 服务 URL 之间的区别

Difference between backend service URL and web service URL in Azure APIM

我注意到在 Azure APIM 中有两个地方可以设置后端 URL: 在“设计”选项卡中:

在“设置”选项卡中:

这两个有什么区别?

  • Web 服务 URL 是我们的后端 API 托管的 URL ,如果我们不添加 Web 服务 URL 我们将得到一个错误 http 500

  • 当我们在创建 API 时添加 webservice url 时,后端 http 端点将反映相同。

以下截图供参考:

更多信息请参考此Blog & MS DOC

尽管 Web 服务 URL 和后端服务 URL 在许多地方可以互换使用,但主要区别如下:

  • 每个 API 只有一个 Web 服务 URL 而 API 可以有多个后端服务(每个操作一个)
  • Web 服务 URL 是 http/https 端点,而后端服务可以是 http/https 服务 URLs/Logic Apps/Azure 函数和其他 Azure 服务。
  • 如果未明确定义后端服务,则默认将 Web 服务 URL 作为后端服务。对于前。网络服务是 'http://contoso.com/employees' 。您有操作 '/country' 并且您没有使用后端服务,那么操作的结果后端端点将为 'http://contoso.com/employees/country'

在哪些情况下您应该使用不同的后端服务。我在以下情况下使用了它们:

  1. 每个操作都有不同的后端逻辑应用程序用于数据转换
  2. 创建了 API 具有不同 Web 服务的存储桶。示例 - 我有 Single HR api,其中我们有 2 个操作。 1 小时是从 mytime 门户获取的,2 小时是从工资门户获取的。所以,在那种情况下,我们没有使用网络服务,而是定义了两个不同的后端服务。