Azure - 从Web角色中访问与worker角色相同的blob

时间:2012-12-02 19:24:59

标签: c# azure role worker webrole

我是Azure的新手,我想创建一个简单的.Net应用程序(在C#中),其中包含一个Web角色和一个辅助角色来上传和调整图像大小。我已经在网络角色中取得了成功。它会创建一个blob,然后将图片上传到那里,然后显示它们。

我现在想做什么: 如果任何图片太大,发送消息会将队列抛给worker角色,然后在worker角色中调整它们的大小。我的问题是我无法看到如何访问在Web角色中创建的相同blob(首先我想在本地开发模拟器中访问它)。如果我在辅助角色属性中添加新条目 - >设置页面会给我一个完全不同的blob连接字符串,不是吗?

感谢您的帮助。

1 个答案:

答案 0 :(得分:4)

要从多个角色访问同一存储帐户,您需要将连接字符串添加到云项目中的所有角色:

enter image description here

要初始化客户端,您可以编写类似这样的内容(同样,这对您的所有角色都是一样的):

CloudStorageAccount storageAccount = CloudStorageAccount.Parse(
    CloudConfigurationManager.GetSetting("MyStorageAccount"));

每当您的Web角色向队列发送消息以通知工作者角色应该调整图像大小时,只需包含url或容器名称+ blob路径。使用此信息,您的工作者角色将能够获取blob并执行所需的处理。

我建议你看一下官方的Windows Azure培训套件。实验室中的一个实际操作完成了您在此处尝试使用留言簿应用程序(在Web角色上上传图像,在工作者角色中创建缩略图,......):HOL-IntroToCloudServices Ex2-UsingWorkerRolesAndQueues