如何以编程方式更新azure blob url

时间:2013-03-15 06:47:30

标签: c# azure azure-storage azure-storage-blobs

我处于这样一种情况,即我在天蓝色存储中有1000个blob,这是带有空间的图片,这是一个问题。 所以我们想要更新blob uri并删除每个中有空格的空格。 我知道如何获得blob或者想出来但是无法理解我如何更新uri一旦我得到blob这里是我当前获得blob的代码。

        CloudBlobContainer container = GetContainerReference('containername');
        var blobs=container.ListBlobs().Select(p=>p.Uri.ToString().Contains(' '));
        foreach (CloudBlob item in blobs)
        {

        }

1 个答案:

答案 0 :(得分:2)

Windows Azure BlobStorage API没有提供允许您直接更改blob的URI的方法。但是,您仍然可以将blob复制到其URI中没有空格的新blob,然后删除旧的。

CloudBlobContainer container = GetContainerReference('containername');
var blobs = container.ListBlobs().Select(p => p.Uri.ToString().Contains(' '));
foreach (CloudBlob oldBlob in blobs)
{
    var newBlobName = oldBlob.Name.Replace(" ", String.Empty);
    var newBlob = container.GetBlobReference(newBlobName);
    newBlob.CopyFromBlob(oldBlob);

    oldBlob.Delete();
}