Azure - 使 API 应用程序可用于逻辑应用程序
Posted
技术标签:
【中文标题】Azure - 使 API 应用程序可用于逻辑应用程序【英文标题】:Azure - Making an API App available to a Logic App 【发布时间】:2016-10-17 04:40:27 【问题描述】:我创建了一个带有 swagger 接口的 Web 应用程序 API,我已将其作为 API 应用程序部署到 Azure。
创建逻辑应用程序时,我可以找到我的 API 应用程序,但每当我尝试使用它时,都会收到以下错误:
无法获取 swagger。确保您在端点上启用了 CORS 并且正在调用 HTTPS 端点。
我在 API 应用程序中使用 API 定义的默认 https url:
https://microsoft-SOME-LONG-MS-INTERNAL-ID.azurewebsites.net/swagger/docs/v1
Swagger 文档已通过 Swashbuckle 在我的 C# Web API 应用程序中提供。
对于 CORS,我设置了一个 * 项。
这似乎不足以让逻辑应用程序访问 API 应用程序然后我为 API 应用程序配置身份验证/授权以使用 Azure Active Directory (express),创建一个 AD Azure 应用程序。
我相信问题在于配置安全性,这对我来说在 Azure 中是全新的。我想让 API 应用程序无法从外部访问,但可用于我的 Azure 订阅中的 Web 应用程序和逻辑应用程序。
我没有向 ASP.NET Web 应用程序本身添加任何身份验证机制,因为我认为 Web 应用程序实际上会位于 Azure 上的专用网络中。也许这是一个错误的假设,我需要添加身份验证以允许 Azure AD 工作?
任何指针/建议?
【问题讨论】:
您使用的是哪个 logicapp 版本? @TusharJ - 逻辑应用直接在门户中创建。我添加了一个新的“逻辑应用程序(预览)”项目。在属性中它说类型是“Microsoft.Logic/workflows”。 【参考方案1】:原来我需要更新 Azure SDK for Visual Studio。我有一个旧版本正在部署一个预览 Api 应用程序,这导致部署的是“Api 应用程序主机”类型而不是“API 应用程序”类型。
更新后一切正常,我找到了一些用于保护 API 应用程序并使其在逻辑应用程序中可用的文档 - https://azure.microsoft.com/en-us/documentation/articles/app-service-logic-custom-hosted-api/
【讨论】:
很好,您的问题已解决,这也是我的猜测,因此我正在询问它的版本。通常版本将类似于“版本 2015-08-01-preview”,您也可以在代码视图中找到。以上是关于Azure - 使 API 应用程序可用于逻辑应用程序的主要内容,如果未能解决你的问题,请参考以下文章
用于连接到虚拟机并运行 azcopy 的 Azure 逻辑应用