3
업로드 된 파일을 가져 오기 위해 FileTrigger를 어떻게 사용할 수 있습니까?Azure WebJobs with storage file share
구성 코드 :
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 %를 폴더로 사용하여 게시했으며 이것이 필요한 것은 아닙니다. 내 스토리지 계정의 경로를 사용해야합니다. 이 작업을 수행하는 방법? –
웹 작업 공유에 관심이 있습니다. 누군가 지식을 공유 할 수 있습니까? –