如何使用URLLOader从私有容器中读取blob?

时间:2011-05-09 10:50:23

标签: flex azure

我有一个托管在Azure上的flex应用程序。

我将一些数据存储在私有容器中的blob中。

如何使用URLLoader显示数据?如果我使用公共容器, 然后我能够在我的应用程序中读取blob。 但是,如果容器的类型是私有URLLoader失败。

有关于此的任何想法吗?

2 个答案:

答案 0 :(得分:1)

Azure提供SharedAccessSignature方法,允许您临时允许第三方通过HTTP访问blob。

MSDN上SetPermissions的此示例代码向您展示了如何创建共享访问策略 - http://msdn.microsoft.com/en-us/library/ee758387.aspx

// Get the shared access signature to share with users, specifying a signature-level access policy.
string sas = container.GetSharedAccessSignature(new SharedAccessPolicy()
{
    SharedAccessStartTime = DateTime.Now,
    SharedAccessExpiryTime = DateTime.Now.AddHours(10),
    Permissions = SharedAccessPermissions.Write | SharedAccessPermissions.Read
});

一旦你有了共享访问策略,那么它基本上是一个查询字符串,可以添加到普通HTTP GET URL的末尾

答案 1 :(得分:0)

您可能需要查看Blob容器访问策略和签名Blob URL。您可以为要允许访问的时间段定义容器访问策略的时间范围(最多可以有5个容器访问策略)。 Windows Azure允许使用容器访问策略生成签名的blob URL。您也可以在不使用容器访问策略的情况下创建已签名的blob URL,但该URL最多有效一小时。 即使blob容器是私有的,生成的签名blob url也允许访问blob。 请从herehere中找到更多信息。