如何从Windows或Linux访问S3存储桶?S3是亚马逊基于云的对象存储服务,主要用于存储由直接在云中运行的应用程序使用的数据。但是,在某些情况下,您可能想直接从PC访问S3存储桶。例如,您可能需要执行此操作以将文件从PC上载到S3,而不使用AWS控制台。或者,您可能希望能够从本地PC上运行的应用程序监视对S3数据的更改。
为了达到这些目的,可以直接从PC访问S3数据。本文介绍了如何使用rclone(免费的开源工具,用于将云存储同步到本地计算机)在Windows和Linux上在本地提供S3文件。
有许多其他工具可用于实现此目标。但是,我喜欢rclone,这是因为它是开源的,并且可以与任何主要操作系统一起使用。尽管与 Linux 相比,使用该工具在Windows上访问S3数据的方式略有不同,但是基本过程是相同的,无论您运行的是哪种操作系统。
以下是使用rclone从Linux或Windows访问S3数据的步骤。
安装rclone
安装rclone非常简单。您可以下载Windows或任何版本的Linux。在大多数Linux发行版中,您还可以选择使用如下命令从软件包管理器直接安装(对于Ubuntu):
须藤apt-get install rclone
或者,您可以下载并运行Bash脚本来为您安装rclone:
卷曲https://rclone.org/install.sh | 须藤bash
如果您想要的rclone版本高于发行版软件包存储库中提供的版本,则可能需要使用后一种方法。否则,最好使用存储库中的官方软件包,因为只要有新的软件包版本,rclone就会为您自动更新。
运行并配置rclone
Rclone是一个命令行工具,因此您需要打开命令外壳或终端才能运行它。
进入外壳后,如果应用程序在您的路径中,则可以使用简单的rclone(或Windows上的rclone.exe)命令直接运行rclone -如果是使用软件包将其安装在Linux上,则可能是这样。
相反,如果您只是将rclone下载为ZIP文件,则必须将其解压缩,然后使用cd命令导航到rclone文件所在的目录。
到那里后,一个简单的./rclone配置(在Linux上)或。\ rclone.exe配置(在Windows上)将启动该程序。
然后,Rclone将询问您各种配置问题,包括您要访问的S3存储桶的AWS凭证。根据您的S3存储桶的设置方式,配置数据会有所不同,但通常默认选项应该起作用。
使用rclone访问S3数据
完成配置后,就可以使用rclone访问S3存储桶了。
Rclone提供了大约十二个命令,可用于与S3数据进行交互。例如,要列出存储桶的内容,请使用ls命令:
rclone ls存储桶名
(如果在Windows上,请将rclone替换为rclone.exe。)
在此示例中,bucket-name是您的S3存储桶的名称。
同样,要复制文件,请使用copy命令:
rclone复制/tmp/file.txt存储桶名称
rclone网站上提供了rclone命令的完整列表。但是请记住,并非所有这些都适用于S3数据。例如,您不能在S3存储桶中使用mkdir命令(这将创建一个新目录),因为S3不支持目录。
在Linux或Windows上挂载S3存储桶
如果您只需要手动复制或访问某些文件,Rclone的内置命令可用于与数据进行交互。但是,如果您想自动与S3数据进行交互或使用rclone不支持的命令来访问它,该怎么办?
在这种情况下,您可以使用rclone mount命令将S3存储桶安装为目录。这样,您就可以与S3数据进行交互,就像在计算机上本地存储的任何其他数据一样。
要在Linux上使用rclone挂载S3存储桶,请使用类似以下命令:
rclone挂接存储桶名称/ mnt / some-dir
请注意,您可能需要以root用户身份运行此命令。在运行命令之前,还需要确保安装点(在上面的示例中为/ mnt / some-dir)存在。(如果不是,请在Linux上使用mkdir来创建它。)
在Windows上,此过程与之相似,但有一个主要区别:首先需要安装WinFsp(在此处找到安装程序),然后才能挂载S3存储桶。安装WinFsp后,可以使用以下命令将S3存储桶安装为目录:
rclone安装存储桶名称C:\ some \ dir
在这种情况下,您的安装点(示例中的C:\ some \ dir)应该是尚不存在的目录。
注意事项
无论您使用Windows还是Linux,rclone都提供了一种免费且直接的方式来从本地计算机访问S3存储桶。但是,请记住一些注意事项。
其中之一是,每次您在S3存储桶中创建或修改文件时,Amazon都会向您收费。这意味着,如果您通过rclone对S3数据执行大量文件操作,最终可能会产生大量的云费用。
要权衡的第二个考虑因素是,从网络访问S3数据时,其性能可能会受到限制。即使将存储桶安装为本地目录,在与数据进行交互时也会出现延迟。
由于这两个原因,如果尝试使用S3存储桶作为从PC备份所有数据的廉价方法,或者作为个人文件共享服务,您最终可能会被打死。换句话说,请勿尝试使用上述方法将S3变成Dropbox或Google Drive之类,它们更适合需要在本地文件系统和云存储之间进行快速且经济高效的集成的情况。即使从本地计算机访问S3数据相对容易,但是由于性能和成本的问题,大规模或重复进行此操作是不切实际的。
但是,如果您需要一种快速,简单的方法来从计算机访问S3数据以一次性复制文件或使用某个应用程序,那么rclone可以在Windows,Linux以及几乎所有其他操作上轻松实现系统可以找到。