gpt4 book ai didi

c# - 有没有办法从 azure blob 中获取所有文件

转载 作者:可可西里 更新时间:2023-11-01 08:56:45 24 4
gpt4 key购买 nike

我需要将我拥有的列表与 azure blob 存储中的文件进行比较,我唯一需要的部分是获取该 blob 中的文件列表的方法。

例如

blob azureImages
files:
name
something.jpg
asd.jpg
iwda.jpg
my list:
name
something.jpg
asd.jpg

当我将 blob 中的文件与我的列表进行比较时,我想删除列表中不匹配的文件。

最佳答案

您可以使用 CloudBlobContainer.ListBlobs() 获取容器中的 blob 列表或者在 CloudBlobDirectory.ListBlobs() 的目录中

CloudBlobClient blobClient = new CloudBlobClient(blobEndpoint, new StorageCredentialsAccountAndKey(accountName, accountKey));

//Get a reference to the container.
CloudBlobContainer container = blobClient.GetContainerReference("container");

//List blobs and directories in this container
var blobs = container.ListBlobs();

foreach (var blobItem in blobs)
{
Console.WriteLine(blobItem.Uri);
}

您需要从 blobItem.Uri 解析文件名,但随后您可以使用 LINQ 的 except() 方法来查找差异:

public string FindFilesToDelete(IEnumerable<string> fromAzure, IEnumerable<string> yourList)
{
return fromAzure.Except(yourList);
}

这将返回 fromAzure 列表中不在 yourList 中的所有内容。

最后,您可以使用this example删除 Blob 。

关于c# - 有没有办法从 azure blob 中获取所有文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12902060/

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