从子目录运行函数

时间:2017-03-30 16:18:35

标签: azure azure-functions

所以我有一个部署过程将我的Web作业复制到文件夹结构,如\ app_data \ jobs \ triggered | continuous \ jobname。我目前正在考虑保留现有的文件夹结构,以便自行托管和运行作业的人员不在azure上,以及希望能够运行azure函数。我希望只是将一个function.json放在现有的文件夹结构中并且拾取了这些函数,但是我有很多问题。

  1. 我有一个run.bat,它需要在运行时将bin文件夹中的依赖项复制到jobs文件夹。我在java中看到了如何执行此操作的文档,但没有更多关于配置如何运行的文档。基本上,我想做一个副本然后调用我的特定编译函数定义参数而不是一些Main()静态方法
  2. 我不知道你怎么告诉host.json文件以递归方式查看子文件夹甚至子文件夹..除了可能创建新的作业主机并指定它之外,似乎没有其他文档在代码中(我不做什么)。我不想对azure libs有任何依赖。
  3. 所以我的下一个想法是,我也可以将作业exe复制到bin文件夹,然后run.bat的问题消失(上面的#1)并将所有函数放在(\ app_data \ functions \ jobname)中。但后来我想知道如何指定包含我的函数的子文件夹..

    请帮忙。

    如果你的好奇(https://github.com/exceptionless/Exceptionless/tree/feature/azure-functions),可以在这里找到我的项目的来源。我正在努力让以下工作先工作(https://github.com/exceptionless/Exceptionless/blob/feature/azure-functions/src/Jobs/EventPost/Program.cs)以下是我的工件是如何在git部署过程中创建的(https://github.com/exceptionless/Exceptionless/blob/feature/azure-functions/build/Push-Artifacts.ps1#L41

1 个答案:

答案 0 :(得分:0)

可以帮助您的一件事是ITypeLocator,它可以让您控制索引的类型。您可以在ITypeLocator中设置自己的JobHostConfiguration

另一个是WebHostSettings,可让您设置ScriptsPath - 发现函数的位置。目前在天蓝色的情况下运行时无法配置,我建议您提交一个问题并输入PR进行更改。