尝试从Azure WebJob写入文件

时间:2018-11-15 18:10:34

标签: azure webjob

我的计划是让WebJob将新生成的CSV发送到Blob存储,然后由Azure函数将其存储并通过电子邮件发送给一组收件人。

我正在使用CsvWriter库来生成CSV。有人告诉我,理想情况下,我应该直接上传到blob存储容器,但是当CsvWriter仅能够使用我们通过构造函数传递给它的任何TextWriter写入文件系统时,我不确定该怎么做

所以我要尝试的是允许CsvWriter将文件写入文件系统,然后将其拾取并将其上传到Blob存储。这里的问题是,我尝试使其写入的每个目录都拒绝访问WebJob。我已经尝试过Environment.GetEnvironmentVariable("WEBJOBS_ROOT_PATH")以及%HOME%d:\site\wwwroot

我需要写入哪个目录?

1 个答案:

答案 0 :(得分:1)

您可以通过使用StringWriter来完全避免它,而您没有可以使用文件系统:

using (var stringWriter = new StringWriter())
using (var csvWriter = new CsvHelper.CsvWriter(stringWriter))
{
    csvWriter.WriteComment("Test");
    csvWriter.Flush();

    var blob = container.GetBlockBlobReference("test.csv");
    await blob.UploadTextAsync(stringWriter.ToString());
}