File upload 允许第三方用户将文件上载到AWS S3 fs中

File upload 允许第三方用户将文件上载到AWS S3 fs中,file-upload,amazon-web-services,amazon-s3,File Upload,Amazon Web Services,Amazon S3,我这里有一个相当棘手的问题:我需要允许我的站点的用户将非常大的文件上传到他们的帐户,我想将这些文件存储在AWS S3文件系统中。我不能仅仅编写一个web服务来接收这些文件并将它们保存在S3FS中,因为上传过程中可能会出现各种问题,我需要一个复杂的上传客户端。Amazon提供的那种将文件上传到S3的客户端,但我当然不能让我的用户直接访问它。我真的很感激你能给我这个主意 谢谢最佳做法是让您的客户端应用程序直接上传到S3,而不是通过您自己的web基础设施。这将利用S3的大规模并行特性并卸载您的web基

我这里有一个相当棘手的问题:我需要允许我的站点的用户将非常大的文件上传到他们的帐户,我想将这些文件存储在AWS S3文件系统中。我不能仅仅编写一个web服务来接收这些文件并将它们保存在S3FS中,因为上传过程中可能会出现各种问题,我需要一个复杂的上传客户端。Amazon提供的那种将文件上传到S3的客户端,但我当然不能让我的用户直接访问它。我真的很感激你能给我这个主意


谢谢

最佳做法是让您的客户端应用程序直接上传到S3,而不是通过您自己的web基础设施。这将利用S3的大规模并行特性并卸载您的web基础架构。卸载基础架构将允许使用更少的实例或更小的实例来服务相同数量的流量。因此,您的基础设施成本更低

您需要编写一个S3 IAM策略,该策略将限制每个用户对S3上自己的“目录”(又名密钥前缀)的访问

看看这篇博文:

如果您的应用程序是web应用程序,您甚至可以让客户的浏览器直接上传到S3。请参阅如何在上安全地实现此功能


关于您的问题,请注意最后一点:S3不是一个文件系统,S3是一个对象存储。阅读更多有关对象存储和文件系统之间的差异的信息,首先需要在AWS帐户上创建用户,然后为这些用户分配角色,让他们能够访问AWS服务(如s3)。然后为这些角色创建身份访问权限并放松自己。剩下的就交给AWS了。您不需要为CloudFrontAPI操心。若你们按照这里所述做了需要做的事情,那个么问题就会得到解决

看一看。它允许上传巨大的文件并将它们复制到s3存储桶中,而无需公开它们。