问题 Azure存储 - 在标记中使用私有容器中的Blob


我创建了Azure容器并设置为Private。必须将权限设置为“私有”,因为该内容仅对登录用户可见。但是,我打算在标签中使用blob。当Container设置为Private时,这是不可能的。有没有解决的办法?或者有其他人遇到同样的问题?

我从CodePlex / Code Project下载的所有代码示例(PhluffyPhotos,MyPictures)总是将容器设置为Public(Container / Blob)。

谢谢!


4151
2018-01-05 01:10


起源



答案:


考虑使用共享访问签名。使用这些签名,您可以为用户提供对私有容器中Blob的临时访问权限。

Eugenio Pace的文章准确地解释了你想要做的事情: Windows Azure指南 - 在a-Expense中使用共享密钥签名


13
2018-01-05 01:59



这个答案+1。在我的一个网站中,为了保护我的图像(防止它们被其他网站着墨),我使用了SAS。我在后端代码中生成了一个非常短的时间(即5秒)的SAS,并将带有SAS的BLOB URL放到我的视图中(我使用的是MVC)。所以它可以显示在我的网页上。但是,由于SAS已过期,其他人无法使用此URL来检索图像。 - Shaun Xu
在MSDN论坛上也有关于此问题的讨论,但结论基本上是使用Sandrino发送的链接中的三种方法之一: - social.msdn.microsoft.com/Forums/en-US/windowsazuredata/thread/...  - social.msdn.microsoft.com/Forums/en-US/windowsazuredata/thread/... - stack247


答案:


考虑使用共享访问签名。使用这些签名,您可以为用户提供对私有容器中Blob的临时访问权限。

Eugenio Pace的文章准确地解释了你想要做的事情: Windows Azure指南 - 在a-Expense中使用共享密钥签名


13
2018-01-05 01:59



这个答案+1。在我的一个网站中,为了保护我的图像(防止它们被其他网站着墨),我使用了SAS。我在后端代码中生成了一个非常短的时间(即5秒)的SAS,并将带有SAS的BLOB URL放到我的视图中(我使用的是MVC)。所以它可以显示在我的网页上。但是,由于SAS已过期,其他人无法使用此URL来检索图像。 - Shaun Xu
在MSDN论坛上也有关于此问题的讨论,但结论基本上是使用Sandrino发送的链接中的三种方法之一: - social.msdn.microsoft.com/Forums/en-US/windowsazuredata/thread/...  - social.msdn.microsoft.com/Forums/en-US/windowsazuredata/thread/... - stack247


您还可以将容器设置为私有,并使用您的Web应用程序作为代理从容器下载文件,然后通过处理程序提供。


0
2017-09-11 15:18