首页 > 解决方案 > 使用 Azure API 管理的异步 IP 受限逻辑应用在调用重试 url 时出现授权错误

问题描述

我正在尝试使用此处提到的重试策略使用 API 管理屏蔽异步逻辑应用程序。

逻辑应用的访问控制配置设置为“特定 IP 范围”(APIM 的 IP 地址)。

执行逻辑应用触发器的第一次调用运行良好。但是,获取运行状态的调用(来自标头位置的 url)会产生以下错误:

{
    "error": {
        "code": "AuthorizationFailed",
        "message": "The access to this api is not allowed with a shared access key when the workflow access control configuration has a list of allowed caller IP addresses. Please use the resource management endpoint using an Active Directory access token to access this api."
    }
}

当我从逻辑应用程序中删除 IP 限制(通过设置任何 IP)时,一切正常。有没有办法重写调用以获取运行状态,使其适用于逻辑应用程序的 IP 限制?

标签: azureazure-logic-appsazure-api-management

解决方案


这是设置通过 IP 地址进行访问控制时 API 的当前限制。正如错误消息所述,您将不得不改用Workflow Runs - Get API。

另一种方法是通过 APIM 将所有请求路由到您的逻辑应用程序,并利用策略重写响应中的 URL,APIM URL 指向可以使用 ARM REST API 获取响应的自定义端点,从而提供无缝体验任何调用逻辑应用的客户端。


推荐阅读