从Azure存储加载文件时出现webjob错误

时间:2018-12-21 09:04:15

标签: c# azure blob storage azure-webjobs

我在Web应用程序中发布了一个Web作业,该作业运行“连续”以从Azure Blob读取文件并将数据导入数据库。 但是从AZure加载文件时出现问题,第一次不会发生此问题,以下是错误消息:

  

远程服务器返回错误:(404)找不到。   在Microsoft.WindowsAzure.Storage.Core.Executor.Executor.ExecuteSync [T](RESTCommand 1 cmd, IRetryPolicy policy, OperationContext operationContext) at Microsoft.WindowsAzure.Storage.Blob.CloudBlob.DownloadRangeToStream(Stream target, Nullable 1偏移量,可空1的长度,AccessCondition accessCondition,BlobRequestOptions选项,OperationContext operationContext)      在Microsoft.WindowsAzure.Storage.Blob.CloudBlob.DownloadToStream(流目标,AccessCondition accessCondition,BlobRequestOptions选项,OperationContext operationContext)      在BankSearch.FileImporter.Services.FileImportService.d__16.MoveNext()

错误在下面的行中发生

try
{
    await fileBlob.DownloadToStreamAsync(fileStream, null, blobRequestOptions, null);
    fileStream.Position = 0;
}
catch (StorageException e)
{
    // Exception Handling & Logging
    logger.Error(
            "failed to load the file from Azure blob, file name : >{filename}, error : {error}, {error2}",
            fileToProcess.FileName, e.Message, e.StackTrace);
    //await SendMappingFailedEmail(fileToProcess, failedColumns);
    //return null;
}

得到此错误:

  1. 将Webjob发布到AZure Web应用。
  2. 运行webjob从blob读取file1,效果很好。
  3. 运行webjob从blob中读取file2,并抛出上面的异常。
  4. 再次发布网络作业,运行网络作业以从blob读取文件2,工作正常。
  5. 运行webjob从blob中读取file3,并抛出相同的异常。

有人可以帮助我找到网络作业的问题吗? 通过Webjob可以访问Blob中的文件。

1 个答案:

答案 0 :(得分:1)

我发现了问题,不同的文件存储在不同的blob中,需要在读取新文件之前初始化云blob容器