在Blob触发的Azure函数中创建的templ文件在哪里?

时间:2019-05-30 09:41:05

标签: c# azure azure-functions kudu

我正在Windows Azure上的Azure Function应用程序上工作。 我创建了一个Blob触发的Azure函数,该函数在temp文件夹中创建一个文件。要获取临时文件夹的路径以创建临时文件,我正在使用以下代码块:

string TempFolderLocation = Path.GetTempPath();
string TempFileName = DateTime.UtcNow.ToString("yyyyMMddHHmmssfff") + ".txt";
string TempFilePath = Path.Combine(TempFolderLocation, TempFileName);
System.IO.File.WriteAllText(TempFilePath, "This is the time log : " + DateTime.UtcNow.ToString("yyyy.MM.dd HH:mm:ss.fff"));

我通过Path.GetTempPath()获得路径“ D:\ local \ Temp \”。

执行上述代码门时,我没有收到任何错误,但是当我使用azure函数应用程序的KUDU时,在文件夹“ D:\ local \ Temp \”中没有创建文件。

所以我的问题是:

  1. 是否在不同地方执行blob触发的天蓝色函数 位置,然后是KUDU?

  2. 临时文件夹的执行时间与实际时间不同吗?

  3. 我在哪里可以看到这些临时文件?

1 个答案:

答案 0 :(得分:0)

azure函数不会与kudu共享临时存储(并且有一个旧标记强制它们共享)。

在此处检查“临时文件”部分: https://github.com/projectkudu/kudu/wiki/Understanding-the-Azure-App-Service-file-system#temporary-files

  

另一个重要的注意事项是Main网站和scm网站没有   共享临时文件。因此,如果您在网站上写了一些文件,   将不会从Kudu控制台看到它们(反之亦然)。你(们)能做到   如果禁用分隔,则它们使用相同的临时空间(通过   WEBSITE_DISABLE_SCM_SEPARATION)。但是请注意,这是一个旧标志,   并且不建议/不支持使用它。