Laravel 关于在 s3 上解压缩文件的建议

ome*_*ooq 0 unzip amazon-s3 laravel laravel-5

我有一个用户上传 zip 文件的表单。我正在使用文件系统。

是否可以将文件上传到 S3,然后在那里解压缩文件?

或者

我应该先解压缩文件,然后将它们上传到 S3。

压缩后的文件夹中有很多文件(大约 500-600 个小文件),那么 Laravel 如何处理如此大量的文件?系统会在文件上传时停止运行还是在后台继续运行?像一个队列

Sat*_*nde 5

不,AWS S3 不会为您提供在 S3 上解压缩文件的功能。

如果您在同一区域内有 EC2 实例,则将您的 zip 文件上传到 EC2,然后将其移动 S3 解压缩。

ec2 和 s3 之间没有任何费用,因此 ec2 可以处理解压缩,然后将其写入您的 s3 存储桶,而无需额外的传输费用。

S3 只会为您提供存储。

编辑 - 将文件从 EC2 传输到 S3

您可以在 AWS CLI 中使用以下命令。在你 EC2

aws s3 cp myfolder s3://mybucket/myfolder --recursive
Run Code Online (Sandbox Code Playgroud)

这是它的参考。 http://aws.amazon.com/cli/

用于在不中断执行的情况下将文件从 EC2 复制到 S3

  • 创建一个脚本来将文件从 ec2 传输到 s3。并在将文件上传到 ec2 之后。使用 Laravel 队列执行脚本。这样用户就不必等到文件正在传输。 https://laravel.com/docs/5.1/queues