如何通过 Kudu Api 动态地 运行 手动部署在门户上的 azure 函数?
How to run azure function deployed on portal manually via Kudu Api dynamically?
我在门户上部署了一个时间触发 azure 函数。每天 10:00 点 运行 点。但是,现在要求函数也应该被调用,并且 运行 也应该在其他时间动态调用。
我知道如何使用 中提到的答案中的步骤通过 Kudu Api 在 function.json 文件中动态设置触发器。因此,使用这些步骤,我可以设置下一分钟的触发器和 运行 函数。
但这不是实时的,这似乎是一种解决方法。没有任何直接的方法可以直接通过 api 调用和手动 运行 azure 函数吗?
对于上述要求,我的建议是创建两个共享相同逻辑的函数(如果是 CSX,通过使用 #load
导入通用实现或添加对通用程序集的引用,或者通过有一个共同的类型)。
您将有一个函数使用计时器触发器,另一个函数使用不同的触发器类型,使您能够按需调用该函数,而不依赖于任何 Kudu 或管理 API(例如 HTTP、队列、SB、等),函数入口点(您的 运行 方法)只会调用您引入的通用逻辑。
Isn't there any direct way to invoke and manually run azure function directly via apis?
我们可以使用 REST API 触发已部署的 Azure 函数。我用我这边的 Time Trigger C# Azure 函数对其进行了测试。
Post https://{FunctionAppName}.azurewebsites.net/admin/functions/{functionName}
注意:我是从Azure portal上查到的,官方文档没有提到这个,如果你想在产品环境中使用这个API ,请多注意这一点。
我们需要 x-functions-key 作为 header。我们可以从函数 Application 中获取函数键。
我们也可以使用bearer token作为授权,关于如何获得此Rest的授权API请参考另一篇SO thread。
更新:
添加 body 信息。
我在门户上部署了一个时间触发 azure 函数。每天 10:00 点 运行 点。但是,现在要求函数也应该被调用,并且 运行 也应该在其他时间动态调用。
我知道如何使用
但这不是实时的,这似乎是一种解决方法。没有任何直接的方法可以直接通过 api 调用和手动 运行 azure 函数吗?
对于上述要求,我的建议是创建两个共享相同逻辑的函数(如果是 CSX,通过使用 #load
导入通用实现或添加对通用程序集的引用,或者通过有一个共同的类型)。
您将有一个函数使用计时器触发器,另一个函数使用不同的触发器类型,使您能够按需调用该函数,而不依赖于任何 Kudu 或管理 API(例如 HTTP、队列、SB、等),函数入口点(您的 运行 方法)只会调用您引入的通用逻辑。
Isn't there any direct way to invoke and manually run azure function directly via apis?
我们可以使用 REST API 触发已部署的 Azure 函数。我用我这边的 Time Trigger C# Azure 函数对其进行了测试。
Post https://{FunctionAppName}.azurewebsites.net/admin/functions/{functionName}
注意:我是从Azure portal上查到的,官方文档没有提到这个,如果你想在产品环境中使用这个API ,请多注意这一点。
我们需要 x-functions-key 作为 header。我们可以从函数 Application 中获取函数键。
我们也可以使用bearer token作为授权,关于如何获得此Rest的授权API请参考另一篇SO thread。
更新:
添加 body 信息。