Azure-多个站点1服务(blob)



假设我有10个网站&1个blob(用于图像)站点/云服务/wcf/MS称之为

如何所有10个网站,使用这个1 blob服务?例如,我希望每个网站都有管理页面

管理斑点图像(crud),

是否创建Azure WCF Blob服务,并且每个站点都将使用它?如何确保只有10个站点可以

是否有访问权限?

其他选择?

(有1个数据库没有问题,只有连接字符串…)

更新:

我会问更简单的问题,10个网站,在每个网站中,我不想重复容器操作的10倍代码,我如何创建1个blob服务/网站/这里的最佳选项是什么/然后在每个网站上重用它?每个站点都有一个站点名称/管理控制器,它可以管理容器/bob

好的,您正在讨论blob存储。如果我理解你的问题,看起来你想确保一个网站不能访问其他网站的数据(图像)。在这种情况下,你有几个选择:

  1. 1个网站=1个存储帐户。在Windows Azure中,您可以创建多个存储帐户。这些存储帐户每个都有自己的密钥,以便访问它们。如果你为每个网站创建一个存储帐户,那么很容易限制对这些存储帐户的访问
  2. 您可以拥有一个包含多个容器的单个存储帐户。在每个容器上,您可以添加SharedAccessBlobPolicy来控制对容器的访问,而不受任何时间限制,但您需要新的"未发布"版本的SDK才能做到这一点。这将允许您的网站使用SAS签名访问特定容器(此访问可以随时撤销)
  3. 使用WCF服务自己构建一些东西,但这可能需要更多的工作

我不确定我是否完全理解这个问题,但根据"使用1个DB没有问题,只有连接字符串"这句话,我认为您缺少的是Windows Azure存储的工作方式相同。您创建了一个存储帐户,并由此获得帐户名和密钥。在.NET中,您甚至可以将其构造为连接字符串,因此在所有网站上,您都可以执行以下操作:

var blobs = CloudStorageAccount.Parse("DefaultEndpointsProtocol=https;AccountName=mystorage;AccountKey=abcd1234...").CreateCloudBlobClient();
// do stuff with blobs here

只要您使用相同的连接字符串,所有网站都将使用相同的存储空间。

最新更新