【问题标题】:Client-Side: Accessing Windows Azure Drive?客户端:访问 Windows Azure 驱动器?
【发布时间】:2012-05-06 20:34:26
【问题描述】:

我正在开发一个 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# 作为我的开发语言。

非常感谢所有帮助!

【问题讨论】:

    标签: azure azure-storage


    【解决方案1】:

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

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

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

    我编写了一个实用程序来在位于此处的 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 计算模拟器的设计。 希望此描述为您提供一些指导。

    【讨论】:

      【解决方案2】:

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

      很遗憾,只能从 Azure Web/worker 或 VM 角色实例访问 Azure 驱动器。

      【讨论】:

      • 客户端应用程序可以访问 blob 吗?
      • Blob 可以,但 Azure 驱动器不能。如果您沿着这条路线走,您将需要使用共享访问签名来保护对 blob 的访问:blog.smarx.com/posts/…
      • 能否使用 .NET 服务总线连接到 Azure 驱动器和/或 blob?
      • 并非如此,服务总线(中继部分)用于从 Web 连接到本地服务,而不需要本地 Web 服务器。最好的办法是直接访问 blob。
      • 也许你可以使用 WebDAV - 我从来没有使用过它,但它的目的是像 web 上的文件系统和 windows,至少可以将 WebDAV 映射为我认为的映射驱动器。
      【解决方案3】:

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

      https://github.com/ichivers/AzureDAV

      【讨论】:

        【解决方案4】:

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

        埃里克

        【讨论】:

          猜你喜欢
          • 2012-10-01
          • 1970-01-01
          • 2016-05-07
          • 2022-10-21
          • 1970-01-01
          • 2023-03-19
          • 2017-12-06
          • 2013-04-24
          • 2021-10-31
          相关资源
          最近更新 更多