【问题标题】:How to update azure blob url programatically如何以编程方式更新 azure blob url
【发布时间】:2013-03-15 16:13:12
【问题描述】:

我的情况是,我在 azure 存储中有 1000 个 blob,它们是带有 url 的图片,其中有空间,这是一个问题。 因此,作为一项措施,我们要更新 blob uri 并删除每个都有空格的空格。 我知道如何获取 blob,或者会弄清楚但无法理解如何在获取 blob 后更新 uri 这是我当前获取 blob 的代码。

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

        }

【问题讨论】:

  • 假设可以做到,难道只是从 blob 的名称(或 URI)中删除空格会使您的 blob 无法访问吗?存储在 blob 存储中的 blob 在其名称/URI 中有空格?
  • uri.i 同意。可能删除并创建它的副本是解决方案..

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


【解决方案1】:

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();
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-01-11
    • 1970-01-01
    • 2020-11-16
    • 2015-06-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-16
    相关资源
    最近更新 更多