Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services 将S3存储桶作为驱动器装入EC2实例中是否会复制粘贴或直接将文件保存在存储桶中?_Amazon Web Services_Amazon S3 - Fatal编程技术网

Amazon web services 将S3存储桶作为驱动器装入EC2实例中是否会复制粘贴或直接将文件保存在存储桶中?

Amazon web services 将S3存储桶作为驱动器装入EC2实例中是否会复制粘贴或直接将文件保存在存储桶中?,amazon-web-services,amazon-s3,Amazon Web Services,Amazon S3,我已经建立了一个脚本,可以刮取几千个pdf文件。我想构建一个t2实例,它至少连续运行脚本2周,并将下载的文件保存在S3存储桶中。我读过这篇文章,但我有一个疑问: 如果我将下载文件夹设置为挂载驱动器位置,那么这里的挂载是否意味着数据将同时存储在EBS和S3中,或者文件将直接保存在S3存储桶中 我需要澄清这一点,因为在构建实例时,我将保持较低的存储容量(~75GB),并租用一个S3存储桶,因为刮取的文件的总大小将超过300GB 谢谢 S3存储桶可以作为文件系统(称为S3fs)安装在AWS实例中。S

我已经建立了一个脚本,可以刮取几千个pdf文件。我想构建一个t2实例,它至少连续运行脚本2周,并将下载的文件保存在S3存储桶中。我读过这篇文章,但我有一个疑问:

如果我将下载文件夹设置为挂载驱动器位置,那么这里的挂载是否意味着数据将同时存储在EBS和S3中,或者文件将直接保存在S3存储桶中

我需要澄清这一点,因为在构建实例时,我将保持较低的存储容量(~75GB),并租用一个S3存储桶,因为刮取的文件的总大小将超过300GB

谢谢

S3存储桶可以作为文件系统(称为S3fs)安装在AWS实例中。S3fs是一个FUSE文件系统,允许您将AmazonS3存储桶装载为本地文件系统。它的行为类似于网络连接的驱动器,因为它不在AmazonEC2上存储任何内容,但用户可以从EC2实例访问S3上的数据


关键的一点是“网络连接驱动器”,这意味着除了需要安装的依赖项之外,它不会在EC2实例上使用任何磁盘内存。

是的,已安装的驱动器不会占用您的本地存储空间,因此您只需启动一个8GB的实例即可。对于挂载工具,我推荐(非常积极地开发)而不是s3fs,因为s3fs看起来很慢,如果你有大文件,它会严重增加CPU的使用。我已经在micro instance plus 300GB安装驱动器上使用goofys多年了,没有任何速度慢和问题


另一个更好的解决方案是使用aws cli直接将文件传输到S3,而不需要任何装载技术。您只需使用boto3编写一个python脚本,该脚本首先下载pdf,然后复制到S3,然后在本地删除该pdf(即使是大型文件也只需几秒钟)。

如果您使用的脚本直接将文件复制到s3fs挂载上的目录,则不会占用EBS上的任何空间

如果脚本首先将pdf本地复制到s3fs之外的任何位置,然后将其移动到s3fs,则仍然可以。它只会占用s3存储桶上的空间

如果脚本首先将pdf本地复制到s3fs之外的任何位置,然后将其复制到s3fs。它仍然会在EBS上留下一个副本,并占用那里的空间。因此,您需要检查-您是否正在复制或移动到S3fs。 如果要复制,请在成功复制后在源位置将其替换为移动或删除


因此,即使是8GB的空间也足以容纳该实例

谢谢!另外,S3是否可靠,或者您是否建议我选择EFS或EBS?如果您希望最终得到刮片的结果,那么使用S3应该很好。它也应该便宜得多。只需知道这个S3解决方案对于编写比对于阅读更好。我不必以编程方式阅读它们。我们将把它们下载到本地机器上进行分析。那好吗?在这种情况下,S3会更好更容易使用。如果答案令人满意,你介意接受吗?