首页 > 解决方案 > 从逻辑应用调用 Azure 函数应用时出错

问题描述

我在 Visual Studio 中创建了两个 .NET 核心(标准 2.0)函数应用程序并将它们部署到 Azure,并成功地从逻辑应用程序中使用它们。虽然我不得不在正文中传递我的所有参数,因为我无法创建一个招摇定义(API 定义给出了消息 - 目前 beta 运行时不支持函数 API 定义(Swagger)功能。)

然而,本周当我尝试在新的逻辑应用中使用新的函数应用时,我收到了一条消息 –</p>

无法获取带有错误消息的招摇:无法获取 https://functionAppName.azurewebsites.net/admin/host/swagger?code=Zmjahr48TCU32BbwBgQ8Q7XG66sXzyDbV4A6ZBK230W08MBy6mkmUg==。确保您在端点上启用了 CORS,并且正在调用有效的 HTTPS 端点。

我可以在开发工具中看到预检请求失败,因此我尝试了一个修复程序,即我删除了函数 App 的 CORS 定义中的所有允许的来源。保存并为 * 添加了一个条目(然后保存并重新启动应用程序)。这样做后,我收到一个新错误-

无法获取带有错误消息的招摇:获取失败。确保您在端点上启用了 CORS,并且正在调用有效的 HTTPS 端点。

在开发工具中,我看到它在招摇定义中找不到 404。

所以我删除了FUNCTIONS_EXTENSION_VERSION测试版并创建了一个 API 定义,现在我可以将它作为一个操作添加到我的逻辑应用程序中,但我无法调用它,因为我得到了错误:

"message": "'MethodName' 不能从 Azure WebJobs SDK 调用。是否缺少 Azure WebJobs SDK 属性?"

与此同时,我在同一个订阅中创建的初始功能应用程序仍在工作(即使在从 VS 重新发布之后)。新的功能应用程序在测试窗口和通过邮递员调用时成功运行,因此应用程序本身很好。只是不起作用的定义阻止我将它们添加为逻辑应用程序中的操作

新的功能应用程序出了什么问题,原来的功能应用程序怎么还能工作?

标签: azure-logic-apps

解决方案


您应该在 Azure 函数设置中将此添加到 CORS

https://ema.hosting.portal.azure.net


推荐阅读