- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
当我尝试迭代 ListBlobs() 调用的结果时,出现“指定的资源不存在”异常。当我直接访问它时,我可以获取 blob 属性,但我正在尝试获取子目录中所有 blob 的列表。
我写了这个小测试来看看问题到底出在哪里。我这里有一个测试驱动程序和两种方法。第一个方法“GetBlockBlobDateTime”运行良好并返回现有 Blob 的日期时间。第二种方法“GetBlobDirFiles”使用相同的输入,并在我尝试迭代 blobItems 时抛出异常。
foreach (IListBlobItem blobItem in blobItems)
请注意,两种方法使用相同的数据。我错过了什么?
public static void DoTest(string baseURL, string container, string directory, string fileName)
{
DateTime t = GetBlockBlobDateTime( baseURL, container, directory, fileName);
List<string> fileList = GetBlobDirFiles( baseURL, container, directory);
}
public static DateTime GetBlockBlobDateTime(string baseURL, string container, string directory, string fileName)
{
CloudBlobClient blobClient = new CloudBlobClient(baseURL);
CloudBlobDirectory blobDir = blobClient.GetBlobDirectoryReference(container);
CloudBlobDirectory subDirectory = blobDir.GetSubdirectory(directory);
CloudBlockBlob cloudBlockBlob = subDirectory.GetBlockBlobReference(fileName);
cloudBlockBlob.FetchAttributes();
DateTime cloudTimeStampUTC = cloudBlockBlob.Properties.LastModifiedUtc;
return cloudTimeStampUTC;
}
public static List<string> GetBlobDirFiles(string baseURL, string container, string directory)
{
CloudBlobClient blobClient = new CloudBlobClient(baseURL);
CloudBlobDirectory blobDir = blobClient.GetBlobDirectoryReference(container);
CloudBlobDirectory subDirectory = blobDir.GetSubdirectory(directory);
IEnumerable<IListBlobItem> blobItems = subDirectory.ListBlobs();
List<string> fileList = new List<string>();
foreach (IListBlobItem blobItem in blobItems)
{
fileList.Add(blobItem.Uri.ToString());
}
return fileList;
}
最佳答案
好吧,我明白了:
显然,您不需要权限来获取文件属性,但需要列出目录中的文件。
CloudBlobClient blobClient = new CloudBlobClient(baseURL);
当您要获取如下属性时有效:
cloudBlockBlob.FetchAttributes();
但是您需要提供如下凭据:
CloudBlobClient blobClient =
new CloudBlobClient(baseURL,
new StorageCredentialsAccountAndKey(myAccount, myKey));
当您要像这样列出 blob 时:
var blobList = subDirectory.ListBlobs();
foreach (var blobInfo in blobList)
关于azure CloudBlobDirectory.ListBlobs() 返回 "The specified resource does not exist.",但 fetchAttributes() 使用相同的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6481010/
我们有一个由离岸外包开发公司开发的旧应用程序,它仍在使用 Azure 存储客户端 1.7。 因此,我会在此版本停止工作之前对其进行更新。 有一个单元测试我无法通过。 [TestMethod()
有什么方法可以获取azure blob存储中CloudBlobDirectory实例的创建日期吗? 最佳答案 不幸的是,CloucBlobDirectory 不是显式创建的对象,它只是一个前缀。因此,
使用 CloudBlobDirectory 和使用分隔 Blob 列表之间有什么区别 http://msdn.microsoft.com/en-us/library/dd179465.aspx#Del
我正在尝试查看是否有更有效的方法来获取 CloudBlobDirectory(包括其中的 CloudBlob)的大小。我看到每个 blob 的 listBlobs() 和“blob.downloadA
我已在我的 .net core 2.0 项目中安装了最新的 windows azure nuget 软件包。安装版本:8.6.0.0 在 8.1.4 版本中,我使用以下语法的 listblobs 方法
我正在使用 container.ListBlobs,但它似乎正在返回一个列表 {Microsoft.WindowsAzure.Storage.Core.Util.CommonUtility.LazyE
当我尝试迭代 ListBlobs() 调用的结果时,出现“指定的资源不存在”异常。当我直接访问它时,我可以获取 blob 属性,但我正在尝试获取子目录中所有 blob 的列表。 我写了这个小测试来看看
我是一名优秀的程序员,十分优秀!