1

我的计划是让 WebJob 将新生成的 CSV 发送到一个 blob 存储,在该存储中它由 Azure 函数接收并通过电子邮件发送给一组收件人。

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

所以我想要做的是允许 CsvWriter 将文件写入文件系统,然后我会选择它并将其上传到 blob 存储。这里的问题是,我试图让它写入的每个目录都拒绝访问 WebJob。我已经尝试Environment.GetEnvironmentVariable("WEBJOBS_ROOT_PATH")%HOME%d:\site\wwwroot

我需要写入哪个目录?

4

1 回答 1

2

您可以通过使用来完全避免它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());
}
于 2018-11-15T19:36:43.040 回答