azure - 使用 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 限制?
解决方案
这是设置通过 IP 地址进行访问控制时 API 的当前限制。正如错误消息所述,您将不得不改用Workflow Runs - Get API。
另一种方法是通过 APIM 将所有请求路由到您的逻辑应用程序,并利用策略重写响应中的 URL,APIM URL 指向可以使用 ARM REST API 获取响应的自定义端点,从而提供无缝体验任何调用逻辑应用的客户端。
推荐阅读
- ios - Swift 中按值传递与按引用传递的问题?
- javascript - 在 Angular 中的两个不同视图之间切换
- database - 无法将图像存储在 mysql 数据库中。空指针异常
- swift4 - 在 Spotlight IOS 12 Beta 5 中重复的 INInteraction 捐赠
- javascript - 从购物车中获取总数的最佳方法是什么?
- google-apps-script - 如何将包含 n 个电子表格的文件夹中的数据提取到一个电子表格中?
- scala - 在scala中读取具有不同模式的多个镶木地板文件
- git - GitHub不尊重.gitignore?
- highcharts - 响应式选项的 Highcharts 语法
- javascript - 使用 AJAX 取消定义索引