Как я могу использовать FileTrigger для загрузки моего загруженного файла?Azure WebJobs с файлом хранилища
Код конфигурации:
public class Program
{
// Please set the following connection strings in app.config for this WebJob to run:
// AzureWebJobsDashboard and AzureWebJobsStorage
public static void Main()
{
JobHostConfiguration jobConfiguration = new JobHostConfiguration();
FilesConfiguration fileConfiguration = new FilesConfiguration();
jobConfiguration.UseFiles(fileConfiguration);
jobConfiguration.UseTimers();
var host = new JobHost(jobConfiguration);
// The following code ensures that the WebJob will be running continuously
host.RunAndBlock();
}
}
Следующий код дает ошибку при запуске WebJob
public static void ProcessXml([FileTrigger(@"XML\{name}", "*.xml", autoDelete: true)] Stream file, string name, TextWriter log)
{
try
{
TextReader reader = new StreamReader(file);
ProcessFile(reader);
}
catch (Exception ex)
{
log.WriteLine(string.Format("Ao processar o arquivo '{0}', o seguinte erro ocorreu: {1}", name, ex.Message));
}
log.WriteLine(string.Format("Arquivo '{0}' processado!", name));
}
Ошибка:
[08/31/2016 21:59:39 > 0d02fe: INFO] Found the following functions:
[08/31/2016 21:59:39 > 0d02fe: INFO] XXXX.jobs.Functions.ProcessXml
[08/31/2016 21:59:39 > 0d02fe: ERR ]
[08/31/2016 21:59:39 > 0d02fe: ERR ] Unhandled Exception: System.InvalidOperationException: Path 'D:\home\data\XML' does not exist.
[08/31/2016 21:59:39 > 0d02fe: ERR ] at Microsoft.Azure.WebJobs.Files.Listeners.FileListener.CreateFileWatcher()
[08/31/2016 21:59:39 > 0d02fe: ERR ] at Microsoft.Azure.WebJobs.Files.Listeners.FileListener.<StartAsync>d__6.MoveNext()
Как я могу отобразить путь к файлу? Я попытался использовать сетевой путь как RootPath, однако возникает ошибка, указывающая, что путь к файлу недействителен.
Благодарим за помощь.
Здравствуйте, Андрей, спасибо за ваше время. Извините, если я не был ясен в вопросе, проблема в том, что мне нужно использовать общий доступ к файлам в моей учетной записи хранилища (например, Blob, Queue). WebJob опубликовал переменную среды% HOME% как папку, и это не то, что мне нужно. Мне нужно использовать путь к моей учетной записи хранилища. Как это сделать? –
Я также заинтересован в том, чтобы установить общий ресурс в веб-работу. Может ли кто-то поделиться некоторыми знаниями? –