Azure Webjobs - 指定ZIP中要运行的文件

时间:2015-09-04 15:17:39

标签: azure azure-webjobs

我正在从将多个虚拟机的应用实例托管到Azure中的多个WebApp。我还有一个批处理工具,我在计划的不同时间运行以执行不同的工作。它所做的特定工作由命令行参数控制,使用Windows任务计划很容易做到。

在运行WebJob时似乎没有办法指定参数,但我确实找到了以下SO文章建议使用包含参数的Powershell脚本:

Command Line Arguments to Azure Webjobs

可以解决我的问题的优秀解决方案。但是,当上传包含​​我的应用程序,相关dll和PowerShell文件作为WebJob的zip时,似乎没有办法指定我想将powershell文件用作WebJob,而是使用exe代替

2 个答案:

答案 0 :(得分:8)

WebJobs使用以下逻辑来决定在作业目录中运行脚本的文件:

对于每个文件类型,我们首先查找名为的文件:run。{file type extension}(例如run.cmd或run.exe。 如果所有文件类型都不存在,我们将查找具有支持的文件类型扩展名的第一个文件。 使用的文件类型扩展名的顺序是:.cmd,.bat,.exe,.ps1,.sh,.php,.py,.js。

作业目录中的推荐脚本文件是:run.cmd。

注意:我们只会在该作业的根目录下查找脚本(不在其子目录下)。

注意:确保.bat / .cmd文件不包含UTF-8 BOM(默认情况下由某些编辑器插入,如Visual Studio),这可能会破坏内容!

来自:https://github.com/projectkudu/kudu/wiki/Web-jobs

答案 1 :(得分:7)

在您的案例run.{extension}中将正在运行的脚本命名为run.ps1

有关如何选择脚本的更全面描述,请阅读https://github.com/projectkudu/kudu/wiki/Web-jobs