0

假设我有 10 个网站和 1 个 blob(用于图像)站点/云服务/wcf/无论 MS 怎么称呼它,

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

管理 blob 图像 ( crud ) ,

制作 Azure-WCF-Blob 服务,每个站点都会使用它?如何确保只有 10 个站点可以

有访问权 ?

其他选择?

(有1个DB没问题,只有连接字符串......)

更新 :

我会问更简单,10 个网站,在每个网站我不想重复 10 次容器操作的代码,我如何创建 1 个 blob 服务/站点/这里最好的选择是什么/然后在每个站点?每个站点都会有一个 siteName/Admin 控制器,它可以管理容器/blob

4

2 回答 2

1

I'm not sure I fully understood the question, but based on the sentence "With 1 DB it's no problem, only connection string," I think what you're missing is that Windows Azure storage works the same way. You create a storage account, and from that you have an account name and key. In .NET, you even construct it as a connection string, so from all your websites, you would do:

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

As long as you use the same connection string, all your websites will be using the same storage.

于 2012-10-10T00:21:39.627 回答
1

好的,所以你在谈论 blob 存储。如果我理解您的问题,您似乎想确保一个网站无法访问其他网站的数据(图像)。在这种情况下,您有几个选择:

  1. 1 个网站 = 1 个存储帐户。在 Windows Azure 中,您可以创建多个存储帐户。这些存储帐户每个都有自己的密钥,以便访问它们。如果您为每个网站创建一个存储帐户,则很容易限制对这些存储帐户的访问。
  2. 您可以拥有一个包含多个容器的存储帐户。在每个容器上,您可以添加一个 SharedAccessBlobPolicy 来控制对容器的访问,而不受任何时间限制,但您需要新的“未发布”版本的 SDK来执行此操作。这将允许您的网站使用 SAS 签名访问特定容器(此访问权限可以随时撤销)。
  3. 使用 WCF 服务自己构建一些东西,但这可能需要更多的工作。
于 2012-10-09T23:42:20.950 回答