【发布时间】:2020-10-13 12:32:57
【问题描述】:
我正在尝试从容器“$logs”下载所有日志,但它总是抛出异常 -
“找不到路径'C:\logs\blob\2020\05\24\2300\000000.log'的一部分”
public static void GetAnalyticsLogs(CloudBlobClient blobClient, CloudTableClient tableClient)
{
try
{
DateTime time = DateTime.UtcNow;
CloudAnalyticsClient analyticsClient = new CloudAnalyticsClient(blobClient.StorageUri, tableClient.StorageUri, tableClient.Credentials);
IEnumerable<ICloudBlob> results = analyticsClient.ListLogs(StorageService.Blob, time.AddDays(-30), null, LoggingOperations.All, BlobListingDetails.Metadata, null, null);
List<ICloudBlob> logs = results.ToList();
foreach (var item in logs)
{
string name = ((CloudBlockBlob)item).Name;
CloudBlobContainer container = blobClient.GetContainerReference("$logs");
CloudBlockBlob blockBlob = container.GetBlockBlobReference(name);
string path = (@"C:/logs/" + name);
using (var fileStream = System.IO.File.Create(path))
{
blockBlob.DownloadToStream(fileStream);
}
}
}
catch (Exception e)
{
Console.WriteLine(e);
}
}
我们如何解决这个错误?
【问题讨论】:
-
嗨,
CloudAnalyticsClient是什么?它是自定义类还是您正在使用的任何包? -
请在这里查看它不是自定义类:github.com/Azure/azure-storage-net/blob/master/Lib/…
-
为什么不使用最新版本的sdk:Blob Storage SDK v12 for .NET.
-
是的,我也可以这样做,但问题仍然存在,对吧?
-
请检查下面的答案:)
标签: azure azure-storage azure-blob-storage