如何使块blob暂时不可用

时间:2014-08-11 06:30:25

标签: azure azure-storage-blobs

我使用Azure云blob来提供图像。有时我需要使图像暂时不可用(即有人报告图像),之后可能会恢复或删除它。我如何实现这一目标?

我的容器是公开的:

    container.SetPermissions(new BlobContainerPermissions { PublicAccess = BlobContainerPublicAccessType.Blob });

这就是我制作blob的方式:

        CloudBlockBlob block_blob = ImagesContainer.GetBlockBlobReference(blob_name);

        block_blob.Properties.ContentType = file.ContentType;
        block_blob.Properties.CacheControl = "public, max-age=2592000";     // 30 days
        block_blob.UploadFromStream(file.InputStream);

是否有类似的东西:

block_blob.Properties.AccessType = private; block_blob.SetProperties();

这样我才能让所有人都无法使用它?后来我可以通过将属性设置为“public”来恢复它。我找不到与此用法相关的任何属性。

非常感谢。

1 个答案:

答案 0 :(得分:0)

在公共容器中无法执行此操作。我建议将blob复制到私有容器,然后将其从公共容器中删除,然后只要您想再次使用它,就可以将其复制回来。即使对于大型文件,在单个存储帐户中的两个容器之间使用复制Blob API(http://msdn.microsoft.com/en-us/library/azure/dd894037.aspx)也会非常非常快。