0

私は、Azure ストレージに 1000 のブロブがあり、URL にスペースが含まれている写真が問題である状況にあります。そのため、対策として、blob uri を更新し、それぞれに含まれるスペースを削除します。ブロブを取得する方法は知っていますが、ブロブを取得したら uri を更新する方法を理解できません。ここでは、ブロブを取得するための現在のコードを示します。

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

        }
4

1 に答える 1

3

Windows Azure BlobStorage APIには、BLOB の URI を直接変更できる方法はありません。ただし、URI にスペースが含まれていない新しい BLOB に BLOB をコピーしてから、古い 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();
}
于 2013-03-15T08:13:12.760 に答える