gpt4 book ai didi

c# - Azure 存储将 blob 移动到其他容器

转载 作者:IT王子 更新时间:2023-10-29 04:40:29 25 4
gpt4 key购买 nike

我正在寻找一种将 Azure 中的 blob 从一个容器移动到另一个容器的方法。我找到的唯一解决方案是使用 Azure 存储数据移动库,但这似乎适用于不同帐户。我想将同一帐户内的 blob 移动到其他容器。

最佳答案

我没有使用过 Azure 存储数据移动库,但我非常确定它也可以在同一个存储帐户中工作。

回答您的问题,由于 Azure 存储本身不支持 Move 操作,您可以通过调用 Copy BlobDelete Blob 来实现此操作。一般来说,复制操作是异步的,但是当在同一存储帐户中复制 blob 时,它是同步操作,即复制立即发生。请参阅下面的示例代码,它就是这样做的:

    static void MoveBlobInSameStorageAccount()
{
var cred = new StorageCredentials(accountName, accountKey);
var account = new CloudStorageAccount(cred, true);
var client = account.CreateCloudBlobClient();
var sourceContainer = client.GetContainerReference("source-container-name");
var sourceBlob = sourceContainer.GetBlockBlobReference("blob-name");
var destinationContainer = client.GetContainerReference("destination-container-name");
var destinationBlob = destinationContainer.GetBlockBlobReference("blob-name");
destinationBlob.StartCopy(sourceBlob);
sourceBlob.Delete(DeleteSnapshotsOption.IncludeSnapshots);
}

但是,请记住,您仅使用此代码来移动同一存储帐户中的 blob。对于跨存储帐户移动 Blob,您需要确保在删除源 Blob 之前完成复制操作。

关于c# - Azure 存储将 blob 移动到其他容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40260583/

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