gpt4 book ai didi

javascript - 需要将 Azure blob 文件从一个文件夹复制到另一个文件夹并创建 zip

转载 作者:行者123 更新时间:2023-12-03 08:41:26 24 4
gpt4 key购买 nike

我正在做一个项目。我的文件位于 blob 中,我需要将这些 Azure blob 文件从一个文件夹复制到另一个文件夹。我还需要创建一个 zip 文件。

请有人帮助我;我对此很陌生,不知道该怎么做。

最佳答案

首先,您应该让我们知道您正在使用什么语言。由于没有说明,我将假设 C#。

我将首先遵循此处的 Blob 教程: https://azure.microsoft.com/en-us/documentation/articles/storage-dotnet-how-to-use-blobs/

然后我会为 zip 库安装一个 nugget 包。以下是一些带有文档/示例的不错的: http://icsharpcode.github.io/SharpZipLib/ https://github.com/haf/DotNetZip.Semverd

我个人最喜欢的库是 DotNetZip,因为它易于使用并且页面上有很好的文档。

您的高级代码将是:

迭代每个容器

收集所有 Blob 。将所有 Blob 复制到新位置。使用 Zip 库来压缩内容。

下面是一些示例代码,可帮助您顺利进行,如果您有太多 blob,则可能会因内存不足异常而失败,但这应该适用于您的场景。如果遇到内存不足的情况,请一次只执行一个 blob,而不是一次执行所有操作。

    string key = "";
string accountName = "mystorageaccount";
string connectionString = "DefaultEndpointsProtocol=https;AccountName="
+ accountName + ";AccountKey=" + key;
var account = CloudStorageAccount.Parse(connectionString);
var blobClient = account.CreateCloudBlobClient();
//below line not necessary, just for demo how to get a container.
var blobContainer = blobClient.GetContainerReference("mycontainer");

List<ICloudBlob> allblobs = new List<ICloudBlob>;
foreach(CloudBlobContainer container in blobClient.ListContainers())
{
allblobs.AddRange((from ICloudBlob blob in
container.ListBlobs(useFlatBlobListing: true)
select blob));
}

关于javascript - 需要将 Azure blob 文件从一个文件夹复制到另一个文件夹并创建 zip,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33038707/

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