【发布时间】:2022-10-19 15:31:40
【问题描述】:
我有一个带有 http 触发器的 Azure 逻辑应用程序,并且想用 Azure 函数调用这个逻辑应用程序。我尝试使用请求库进行后调用。代码看起来像这样:
import requests
url='https://prod-56.westeurope.logic.azure.com:...'
requests.post(url)
当我使用 VS Code 尝试此代码时,它可以工作。但不知何故,它在 Azure Functions 中不起作用。我已经在 Azure 函数中更改了 CORS 以允许所有,但它仍然不起作用。知道如何在 python 中使用 azure 函数调用逻辑应用程序吗?
【问题讨论】:
-
在我看来,您缺少有效载荷。
-
嗨,我只想激活逻辑应用。我已经在 Visual Studio Code 中执行了代码,并且逻辑应用开始运行。所以代码应该没问题。但是当我在 Azure Functions 中使用代码时,它不起作用。通过 Application Insight,我可以看到 CORS 已解决,我必须启用所有 (*) 才能使 CORS 成功。但 Logic 应用程序无法启动。如果您尝试通过 Azure 函数使用 http 触发器启动逻辑应用,它会起作用吗?
-
当然!如果您传递预期的参数来触发逻辑应用程序,它将开始运行
-
因此,如果您不添加有效负载,它对您不起作用?
-
我们需要安装要求模块,因为您在代码中使用 requests 模块。如this 中所述,没有直接的方法可以通过数据包管理器获取模块。如果我们在 Vs 代码中实现,
requirements.txt file将自动生成。但是,您可以使用库杜在使用 Azure 函数时通过设置一个控制台venv并安装 Python 模块。我建议您直接在 Visual Studio Code 中执行代码并使用发布命令。
标签: python-3.x azure azure-functions azure-logic-apps