gpt4 book ai didi

.net - 如何上传到 Azure Blob 存储而不覆盖?

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

默认情况下,调用 UploadFromStream 会覆盖文件 - 如何确保只上传容器中尚不存在的 Blob?

CloudBlockBlob blockBlob = container.GetBlockBlobReference(blobName);
blockBlob.UploadFromStream(stream)

最佳答案

向代码添加访问条件,以便它根据 ETag 进行检查blob 的属性 - 允许使用通配符,因此我们只想在没有具有此名称的 blob 具有任何 etag 的情况下才允许上传(这是一种迂回的说法,该 blob 名称是否存在)。

您将收到一个 StorageException,如下所述。

    CloudBlockBlob blockBlob = container.GetBlockBlobReference(blobName);
try {
blockBlob.UploadFromStream(stream, accessCondition: AccessCondition.GenerateIfNoneMatchCondition("*"));
} catch (StorageException ex) {
if (ex.RequestInformation.HttpStatusCode == (int)System.Net.HttpStatusCode.Conflict) {
// Handle duplicate blob condition
}
throw;
}

关于.net - 如何上传到 Azure Blob 存储而不覆盖?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14938606/

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