Где файлы templ создаются в запущенной BLOB-функции Azure? - PullRequest
0 голосов
/ 30 мая 2019

Я работаю над приложением Azure Function в Windows Azure.Я создал функцию Azure для BLOB-объектов, которая создает файл во временной папке.Чтобы получить путь к временной папке для создания временного файла, я использую следующий блок кода:

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"));

Я получаю путь "D: \ local \ Temp \" в результате Path.GetTempPath ().

Я не получаю никакой ошибки при выполнении указанных выше элементов кода. Но когда я беру KUDU из моего приложения-функции Azure, в папке "D: \ local \ Temp \" не создаются файлы.

Итак, мои вопросы:

  1. Выполняется ли функция лазури, запускаемая с помощью BLOB-объектов, в другом месте, чем KUDU?

  2. Временная папка времени выполнения отличается от фактической?

  3. Где я могу увидеть эти временные файлы?

1 Ответ

0 голосов
/ 30 мая 2019

Функция azure не делит временное хранилище с kudu (и существует устаревший флаг, который заставляет их делиться).

Проверьте раздел «Временные файлы» здесь: https://github.com/projectkudu/kudu/wiki/Understanding-the-Azure-App-Service-file-system#temporary-files

Еще одно важное замечание: главный сайт и сайт scm не делят временные файлы.Поэтому, если вы напишете туда какие-нибудь файлы со своего сайта, вы не увидите их на консоли Kudu (и наоборот).Вы можете заставить их использовать одно и то же временное пространство, если отключите разделение (через WEBSITE_DISABLE_SCM_SEPARATION).Но обратите внимание, что это устаревший флаг, и его использование не рекомендуется / не поддерживается.

...