Azure Blob文件访问和属性-无法设置属性

问题描述 投票:0回答:1

我正在尝试访问和设置现有blob文件的缓存属性,但是在尝试设置属性时为404。它可以很好地调用FetchAttributes();但我无法弄清楚我在做什么错:

foreach (var b in blobs)
{
    CloudBlobContainer container = bh.GetEntFileContainer(b.Id, true);
    var blobFiles = container.ListBlobs(null, true);
    foreach (var file in blobFiles)
    {
        CloudBlob blob = new CloudBlob(file.Uri);
        try
        {
            blob.FetchAttributes();
            // set cache-control header if necessary
            if (blob.Properties.CacheControl != "max-age=604800, public")
            {
                blob.Properties.CacheControl = "max-age=604800, public";
                blob.SetProperties(); //404 here.
            }
        }
        catch (Exception e)
        {
            string a = "404, doesn't exist";
        }
    }
}
c# azure azure-storage-blobs
1个回答
0
投票
foreach (var b in blobModels)
            {
                var cloudBlobContainer = bh.GetEntFileContainer(b.Id, true);
                IEnumerable<IListBlobItem> blobInfos = cloudBlobContainer.ListBlobs(useFlatBlobListing: true);
                foreach (var blobInfo in blobInfos)
                {
                    try
                    {
                        CloudBlockBlob blockBlob = (CloudBlockBlob)blobInfo;
                        var blob = cloudBlobContainer.GetBlobReferenceFromServer(blockBlob.Name);
                        blob.FetchAttributes();

                        // set cache-control header if necessary
                        if (blob.Properties.CacheControl != newCacheSettings)
                        {
                            blob.Properties.CacheControl = newCacheSettings;
                            blob.SetProperties();
                        }
                    }
                    catch (Exception ex)
                    {
                        // Console.WriteLine(ex.Message);
                    }
                }
© www.soinside.com 2019 - 2024. All rights reserved.