我在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;
}
得到此错误:
有人可以帮助我找到网络作业的问题吗? 通过Webjob可以访问Blob中的文件。
答案 0 :(得分:1)
我发现了问题,不同的文件存储在不同的blob中,需要在读取新文件之前初始化云blob容器