- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在使用 container.ListBlobs,但它似乎正在返回一个列表 {Microsoft.WindowsAzure.Storage.Core.Util.CommonUtility.LazyEnumerable} 但是当我执行 foreach 时,对象似乎是 CloudBlobDirectory 而不是列表CloudBlockBlob。我做错了什么,还是它应该返回什么?有什么方法可以只获取 blob 列表,而不是 blob 目录?
var storageAccount = CloudStorageAccount.Parse(conn);
var blobClient = storageAccount.CreateCloudBlobClient();
var container = blobClient.GetContainerReference(containerName);
var blobs = container.ListBlobs();
foreach (var blob in blobs)
{
Console.WriteLine(blob.GetType().ToString());
}
最佳答案
根据MSDN对于 CloudBloblContainer.ListBlobs()
:
The types of objects returned by the ListBlobs method depend on the type of listing that is being performed. If the UseFlatBlobListing property is set to true, the listing will return an enumerable collection of CloudBlob objects. If UseFlatBlobListing is set to false (the default value), the listing may return a collection containing CloudBlob objects and CloudBlobDirectory objects. The latter case provides a convenience for subsequent enumerations over a virtual blob hierarchy.
因此,如果您只需要 blob,则必须将 UseFlatBlobListing
属性选项设置为 true。
var storageAccount = CloudStorageAccount.Parse(conn);
var blobClient = storageAccount.CreateCloudBlobClient();
var container = blobClient.GetContainerReference(containerName);
// ** new code below ** //
BlobRequestOptions options = new BlobRequestOptions();
options.UseFlatBlobListing = true;
// ** new code above ** //
var blobs = container.ListBlobs(options); // <-- add the parameter to overload
foreach (var blob in blobs)
{
Console.WriteLine(blob.GetType().ToString());
}
关于c# - container.ListBlobs 给出了 CloudBlobDirectory 的列表 我期待的是 CloudBlockBlobs 的列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25910519/
我正在尝试列出 Azure 存储帐户中所有已删除的 blob。这是我的代码: using Microsoft.WindowsAzure.Storage; using Microsoft.Windows
我正在尝试列出 Azure 存储帐户中所有已删除的 blob。这是我的代码: using Microsoft.WindowsAzure.Storage; using Microsoft.Windows
我正在尝试更新其他人几年前编写的命令行实用程序,以便它可以在当前版本的 Azure SDK 上进行编译。重大更改让我很困扰,尤其是 CloudBlobContainer 的 ListBlobs() 方
我正在尝试查看是否有更有效的方法来获取 CloudBlobDirectory(包括其中的 CloudBlob)的大小。我看到每个 blob 的 listBlobs() 和“blob.downloadA
我正在使用 Azure .Net SDK 列出 Windows Azure 存储 Blob 容器中的所有 Blob。 let client = account.CreateCloudBlobClien
我正在使用 Azure .Net SDK 列出 Windows Azure 存储 Blob 容器中的所有 Blob。 let client = account.CreateCloudBlobClien
我已在我的 .net core 2.0 项目中安装了最新的 windows azure nuget 软件包。安装版本:8.6.0.0 在 8.1.4 版本中,我使用以下语法的 listblobs 方法
var allBlobls = container .ListBlobls() .OfType() .ToList(); 我们的容器中有超过 100 万 个 blob,因为 ListBlo
在我的应用程序中,我想要容器的所有 blob,但在我的代码中(如下所示),CloudBlobContainer 变量容器中没有 Listblob() 方法。我错过了什么吗? var credentia
我们有一个 azure 的 blob 存储,并启用了日志记录。我可以使用管理门户查看这些日志并下载 blob。但现在我尝试使用客户端 api 列出这些日志。大致思路是这样的: let account
我的 Blob 存储中有 30000 个图像,我想按修改日期的降序获取图像。有什么方法可以每次调用以 1000 张图像为单位获取它吗? 这是我的代码,但这需要太多时间。基本上我可以按 LastUpda
我从事一个 aspnetcore 2.0 项目。 我想使用 Blob AzureStorage,并且需要列出容器中的文件。 我添加了 nuget WindowsAzure.Storage 8.4。 使
我有两个代码示例: var container = new CloudBlobContainer("address"); var blobs = container.ListBlobs(); fore
我有一个java代码,其中列出了blob并在for循环中进行过滤以仅获取具有特定扩展名的文件。有没有办法查询/请求容器只返回具有特定扩展名的 blob?我不想循环遍历容器中的所有 blob 来执行此操
我正在尝试获取 Azure Blob 存储中单个虚拟文件夹中的列表。文件组织在/{container}/{classification}/{title} 文件夹结构中,所有文件都在“title”虚拟文
我们使用 Microsoft.WindowsAzure.Storage.Blob 库来迭代特定容器内的 blob 和容器,如下所示: CloudBlobContainer cloudBlobConta
我正在使用 Azure 存储并使用 C# 进行编程。我在 Azure 上设置了一个容器,我可以将文件保存到容器内的虚拟文件夹中。 但是,我在访问容器内虚拟文件夹内的 blob 时遇到问题。例如说我有:
Error: Failed to get existing workspaces: containers.Client#ListBlobs: Failure responding to request
Error: Failed to get existing workspaces: containers.Client#ListBlobs: Failure responding to request
我正在开发一个 Java 应用程序,它使用帐户 SAS(共享访问签名)URI 执行以下方法: CLoudBlockBlob blob = container.getBlockBlobReference
我是一名优秀的程序员,十分优秀!