【发布时间】:2014-04-11 00:41:28
【问题描述】:
我想在没有第三方软件的情况下访问我的 Amazon S3 存储桶,而只需通过大多数操作系统中可用的 WebDAV 功能即可。有没有办法做到这一点 ?对我来说重要的是不需要第三方软件。
【问题讨论】:
我想在没有第三方软件的情况下访问我的 Amazon S3 存储桶,而只需通过大多数操作系统中可用的 WebDAV 功能即可。有没有办法做到这一点 ?对我来说重要的是不需要第三方软件。
【问题讨论】:
S3 不支持 webdav,所以你运气不好!
另外,S3 不支持分层命名空间,因此您不能直接将文件系统映射到它上
这里有一个示例 java 项目,用于在 Amazon S3 上放置一个 webdav 服务器 - https://github.com/miltonio/milton-aws
【讨论】:
有很多方法可以做到这一点。我不确定您的情况,所以它们是:
选项 1:最简单:
您可以使用第 3 方“云网关”提供商,例如 http://storagemadeeasy.com/CloudDav/
选项 2:设置您自己的“云网关”服务器
设置专用服务器或虚拟服务器作为网关。使用亚马逊自己的 EC2 会是一个不错的选择。
设置将 S3 挂载为驱动器的软件。我在 Windows 上知道的两个:(1) CloudBerry Drive http://www.cloudberrylab.com/ 和 (2) WebDrive (http://webdrive.com)。对于Linux,我没做过,不过你可以试试:https://github.com/s3fs-fuse/s3fs-fuse
设置像 CrushFTP 这样的 webdav 服务器。 (之所以想到它,是因为它稳定且便宜,并且可以在任何操作系统上运行。)另一种选择是 IIS,但我个人发现为 webdav 安全设置更难。
在您的 WebDav 服务器(即 CrushFTP 或 IIS)中设置一个可以访问映射的 S3 驱动器的用户。
可能的障碍:假设您使用的是 Windows,要自动启动您的服务并使其正常工作,您可能需要将这两个服务设置为使用相同的 Windows 用户帐户(服务->(您的服务)->[右键单击]属性->登录选项卡)。这是因为 S3 映射软件可能不会为所有 Windows 用户映射 S3 驱动器。或者,如果您在此步骤中遇到困难,您可以使用 FireDaemon 以相同的用户名将程序作为服务启动。
其他说明:我有在相当重的负载下使用 WebDrive 的经验,而且它似乎运行良好。在大量的冲击下(我说的是每小时将数千个文件添加到 5 TB WebDrive)它开始使 Windows 崩溃。但我不确定你是否会走得那么远。此外,如果您使用的是 EC2,您可能不会遇到这个问题,因为它可能是由内存中的巨大传输队列引起的,而 EC2 将更快地传输到 S3 并保持队列更小。
【讨论】:
我终于放弃了这个想法,今天我使用 Rclone (https://rclone.org) 在 AWS S3 和不同计算机之间同步我的文件。 Rclone 有能力在本地计算机上挂载远程存储,但我不使用这个功能。我只是使用copy 和sync 命令。
【讨论】: