Azure Webjob - 访问本地文件系统

use*_*695 6 azure azure-webjobs azure-webjobssdk

我有一个遗留的exe,它接受本地机器文件路径,处理它并再次在本地路径中生成输出文件.这可以在Azure Webjob上运行吗?

我正在考虑编写一个从blob存储下载文件的包装器exe - >将其存储在本地文件系统中 - >使用本地文件路径调用传统exe - >获取输出并再次将其上载到blob.

这种方法是否有效或存在局限性?

mat*_*ewc 5

如果您最终编写了一个包装器,那么您可能会对 WebJobs SDK 的文件绑定扩展感兴趣:https : //github.com/Azure/azure-webjobs-sdk-extensions。例如:

    // When new files arrive in the "import" directory, they
    // are uploaded to a blob container then deleted.
    public static void ImportFile(
        [FileTrigger(@"import\{name}", "*.dat", autoDelete: true)] Stream file,
        [Blob(@"processed/{name}")] CloudBlockBlob output,
        string name,
        TextWriter log)
    {
        output.UploadFromStream(file);
        file.Close();

        log.WriteLine(string.Format("Processed input file '{0}'!", name));
    }
Run Code Online (Sandbox Code Playgroud)


Dav*_*bbo 3

这样的 exe 应该可以正常运行,只要您将要写入的文件夹传递给它即可。在进入 WebJobs 之前,我建议使用Kudu Console在 Web 应用程序中手动测试它,以确保它运行正常。

然后,如果您的目标是让它与 blob 输入/输出一起工作,则包装器 exe 应该可以工作。显然,让它直接与博客流一起工作会更干净,但如果旧版 exe 是给定的且无法更改,则包装器方法应该没问题。