【问题标题】:Running functions from a child directory从子目录运行函数
【发布时间】:2017-03-31 02:07:40
【问题描述】:

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

  1. 我有一个 run.bat,它需要在运行时将依赖项从 bin 文件夹复制到作业文件夹。我看到了有关如何在 java 中执行此操作的文档,但没有更多关于配置如何运行的文档。基本上,我想做一个副本,然后用定义的参数而不是一些 Main() 静态方法调用我的特定编译函数
  2. 我不明白你会如何告诉 host.json 文件以递归方式查看子文件夹甚至子文件夹。除了可能创建新的作业主机并指定它之外,似乎没有关于此的文档在代码中(我不知道该怎么做)。我不希望对 azure 库有任何依赖。

所以我的下一个想法是我也可以将作业 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)

【问题讨论】:

    标签: azure azure-functions


    【解决方案1】:

    ITypeLocator 可能对您有所帮助,它使您可以控制被索引的类型。你可以在JobHostConfiguration中设置自己的ITypeLocator

    另一个是WebHostSettings,它允许您设置ScriptsPath - 发现函数的位置。目前在 azure 中运行时这是不可配置的,我建议您提交问题并提交 PR 以更改它。

    【讨论】:

    • 谢谢,我会记录一个问题。是否有任何解决上述问题的方法。我已经部署了它,但我看不到它是否真的在工作。我确实看到它列在 scm(原始函数输出)中。
    • 我最终无法按预期工作。我不想实现任何像 ITypeLocator 这样的天蓝色特定代码..
    猜你喜欢
    • 2017-08-11
    • 2020-02-04
    • 2020-01-15
    • 2014-01-10
    • 1970-01-01
    • 1970-01-01
    • 2014-09-06
    • 2018-06-20
    • 2023-01-30
    相关资源
    最近更新 更多