Azure - 从辅助角色访问与 Web 角色相同的 blob

Posted

技术标签:

【中文标题】Azure - 从辅助角色访问与 Web 角色相同的 blob【英文标题】:Azure - Accessing the same blob from worker role as in web role 【发布时间】:2012-11-20 07:20:14 【问题描述】:

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

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

感谢您的帮助。

【问题讨论】:

【参考方案1】:

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

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

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

每当您的 Web 角色向队列发送消息以通知 Worker 角色应调整图像大小时,只需包含 url 或容器名称 + blob 路径即可。有了这些信息,您的 Worker Role 将能够获取 blob 并进行所需的处理。

我建议您看看官方的 Windows Azure 培训工具包。其中一个动手实验室完全可以使用留言簿应用程序完成您在此处尝试执行的操作(在 Web 角色上上传图像,在 Worker 角色中创建缩略图......):HOL-IntroToCloudServices Ex2-UsingWorkerRolesAndQueues

【讨论】:

非常感谢,我会看看的。我下载了培训包,只是找不到。我想我一开始看起来不太对。

以上是关于Azure - 从辅助角色访问与 Web 角色相同的 blob的主要内容,如果未能解决你的问题,请参考以下文章

Azure Pack 是不是支持使用 WASABi 自动缩放 Web 和辅助角色?

Azure 服务总线广播到所有辅助角色实例

Azure 辅助角色未运行?

如何在 Windows Azure 中使用远程桌面调试辅助角色?

C# 不提供 Windows 性能计数器(在 Azure 辅助角色上)

使静态资源在 Azure Web 角色中可用