2

我正在开发一个 Azure 应用程序,其中一部分涉及用户浏览在线文件系统。为此,我正在尝试使用 Windows Azure 驱动器,但我不知道如何从客户端访问它,或者如何使其在服务器端可访问。

目前,我只知道如何制作驱动器:

CloudStorageAccount devStorage = CloudStorageAccount.DevelopmentStorageAccount;
CloudBlobClient client = devStorage.CreateCloudBlobClient();
CloudBlobContainer container = new CloudBlobContainer("teacher", client);
CloudDrive.InitializeCache(localCache.RootPath, 
        localCache.MaximumSizeInMegabytes);
CloudDrive drive = new CloudDrive(container.GetPageBlobReference("drive1").Uri, devStorage.Credentials);
drive.Create(50);

我使用 C# 作为我的开发语言。

非常感谢所有帮助!

4

4 回答 4

3

对于 Windows Azure 云驱动器,您需要了解以下几点:

  1. 云驱动器是实际的页 Blob,它们存储在 Windows Azure Blob 存储中并作为驱动器(您将获得取决于您的机器驱动器统计信息的驱动器号)安装在您可以提供 Windows Azure 运行时环境的机器上。

  2. 正如您在示例中展示的那样,程序化很容易在您的代码中安装云驱动器,但是缺少一件事,那就是确保拥有可以运行此代码的 Windows Azure RunTime 环境。

我已经编写了一个实用程序来在位于此处的 Windows Azure VM(Web、Worker 或 VM 角色)中安装 azure 驱动器:http: //mountvhdazurevm.codeplex.com/

您可以直接在 Windows Azure VM 中运行上述工具,也可以在 Compute Emulator(Windows Azure Development Fabric)中使用完全相同的代码,所以底线是只要您可以提供 Windows Azure 运行时环境,就可以挂载 Page blob VHD 驱动器。

我见过几个案例,有人要求我在本地机器(客户端和服务器,任何地方)中安装 Windows Azure Page Blob 作为驱动器,而实际的障碍是在本地环境中引入 Windows Azure 运行时间,因为它不可用。在某些情况下,一些人继续尝试使用 Windows Azure SDK 让 Windows Azure 运行时在他们的桌面上可用,创建一个虚拟 Web 角色,然后安装 VHD,该 VHD 安装在本地计算机上,并且驱动器号可用作好。我不确定这种解决方案,因为这不是 Windows Azure 计算模拟器的设计。希望此描述为您提供一些指导。

于 2012-05-07T00:56:13.227 回答
1

我不确定我是否正确理解了您的问题,但听起来您希望多个客户端应用程序(可能在不在 Azure 上的机器上)访问您的 Azure 驱动器?

不幸的是,只能从 Azure web/worker 或 VM 角色实例访问 Azure 驱动器。

于 2012-05-06T20:54:00.260 回答
1

我编写了一个运行在 Azure 网站上的 WebDAV 服务器,它允许包括 Windows Explorer 和 Office 在内的客户端连接到 Azure 存储。它使用表和 Blob 存储的组合来存储文件结构和文件。我已经使用 Windows Explorer 和 Word 2013 对其进行了测试。虽然这不是云驱动解决方案,但它仍然使用 Azure 存储作为后端,并且可以从 WebDAV 客户端访问。你可能会发现它很有用..

https://github.com/ichivers/AzureDAV

于 2014-03-17T10:54:04.180 回答
0

现有答案的另一点。您始终可以下载支持云驱动器的 blob 并将其安装在本地系统上。该 blob 实际上只是一个 VHD。但是,除非驱动器很小,否则下载时间不会很短。

埃里克

于 2012-05-16T00:32:16.850 回答