Thêm một điều kiện truy cập vào mã để nó kiểm tra chống lại ETag tài sản của blob - ký tự đại diện được cho phép, vì vậy chúng tôi muốn chỉ cho phép tải lên nếu không có các đốm màu với tên này có bất kỳ etag (đó là một cách nói vòng vo, tên này có tồn tại không).
Bạn nhận được Lưu trữ ngoại lệ như được nêu chi tiết bên dưới.
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;
}
Nguồn
2013-02-18 14:28:42
Theo tôi được biết, điều này có thể không hoạt động nếu bạn có nhiều khách hàng truy cập vào container - như blob có thể được tạo ra bởi một thread khác nhau/system/client giữa chủ đề này của ' Exists' và câu lệnh tải lên. Bạn có thể muốn kiểm tra kịch bản này trước khi sử dụng giải pháp Exists trong một môi trường có nhiều khách hàng. –