gpt4 book ai didi

azure - 移动或重命名时可以保留 Blob 版本吗?

转载 作者:行者123 更新时间:2023-12-03 02:28:16 24 4
gpt4 key购买 nike

我正在使用适用于 Azure 存储的最新 .NET SDK 以及 Blob 存储中启用的版本。我可以使用我的 C# 代码上传、列出 blob 的所有版本。我想在移动或重命名时保留版本。有可能自动做这样的事情吗?如果没有,是否有任何可能有帮助的解决方法?

最佳答案

使用文档解决了这个问题。以下是我的有效代码片段:

var files = blobContainerClient.GetBlobs(BlobTraits.Metadata, BlobStates.Version, prefix: prefix);
foreach (BlobItem file in files)
{
var versionFile = blobContainerClient.GetBlobClient(file.Path).WithVersion(file.versionId);
if (file != null)
{
string newFileName = file.Name.Split("/").Last();
string newPath = $"{destFolderPath}/{newFileName}";

BlobClient newFile = rootDir.GetBlobClient(newPath);
await newFile.StartCopyFromUriAsync(file.Uri);
fileCount++;
if (file == files.Last())
{
var rootFile = blobContainerClient.GetBlobClient(file.Path);
rootFile.DeleteIfExists();
}

}
}

在这里删除了一些项目特定的代码,因此任何想要使用它的人,请初始化适当的类。

关于azure - 移动或重命名时可以保留 Blob 版本吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66205118/

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