gpt4 book ai didi

c# - Azure 中 Blob 的 URL 及目录结构

转载 作者:行者123 更新时间:2023-12-03 02:43:04 25 4
gpt4 key购买 nike

正在使用的程序集:程序集 Microsoft.WindowsAzure.Storage,版本=9.3.1.0

我想做的事情:在我的 Azure 存储中,我按照以下方式将图像存储为 blob

enter image description here

我想获取所有图像 blob 的 URL 及其最后修改的时间戳。

请注意,Image1Image4 可能具有相同的名称。

我尝试过的:

  1. 我尝试从容器的根目录并使用 GetDirectoryReference(stringrelativeAddress) 执行 ListBlobsSegmentedAsync(BlobContinuationToken currentToken),但无法获得所需的结果。

  2. 虽然有点偏离轨道,但我可以通过 GetBlockBlobReference(string blobName); 获取 blob 详细信息

我应该做什么?

提前致谢。

最佳答案

ListBlobsSegmentedAsync 方法有 2 个包含 useFlatBlobListing 参数的重载。这些重载接受 7 或 8 个参数,我在你的代码中数了 6 个。

使用以下代码列出容器中的所有 blob。

public static async Task test()
{
StorageCredentials storageCredentials = new StorageCredentials("xxx", "xxxxx");
CloudStorageAccount storageAccount = new CloudStorageAccount(storageCredentials, true);
CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient();
CloudBlobContainer container = blobClient.GetContainerReference("container");
BlobContinuationToken blobContinuationToken = null;
var resultSegment = await container.ListBlobsSegmentedAsync(
prefix: null,
useFlatBlobListing: true,
blobListingDetails: BlobListingDetails.None,
maxResults: null,
currentToken: blobContinuationToken,
options: null,
operationContext: null
);

// Get the value of the continuation token returned by the listing call.
blobContinuationToken = resultSegment.ContinuationToken;
foreach (IListBlobItem item in resultSegment.Results)
{
Console.WriteLine(item.Uri);
}
}

结果如下:

enter image description here

关于c# - Azure 中 Blob 的 URL 及目录结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60169024/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com