gpt4 book ai didi

rest - 无需 CORS 直接上传到 S3(非浏览器)

转载 作者:行者123 更新时间:2023-12-04 19:36:13 27 4
gpt4 key购买 nike

我们正在 AWS 上开发 API,结合使用 EC2、SQS 和 S3。我们的前端服务器驻留在 EC2 上,我们将所有用户提交的数据存储在 S3 上。我们不想向最终用户公开我们的 S3 存储,因此所有提交最初都通过 EC2。我们所有的最终用户都知道我们的 API 端点,他们向其发布数据(通常是原始文本,目前最多约 1MB),并从中获取结果。

但是,随着我们获得更多用户和提交的数据量越来越大,我们怀疑这种模型不太可能扩展。因此,我们一直在寻找管理用户输入的替代方法。其中最吸引人的似乎是CORS ,这S3 now supports ,它允许最终用户直接上传到 S3,而无需最初缓冲到 EC2。但我们开发的是 API 而不是 Web 应用程序,而且似乎 CORS 总是需要某种基于浏览器的 Javascript 来执行实际的上传。我们最终可能会为大型上传提供某种浏览器 UI,但我们现在只想向开发人员提供我们的 API 端点。

所以基本上我们想知道是否还有其他可能的解决方案。目前对我们来说最重要的事情是避免公开我们的后端存储,这样只有我们的 API url 被暴露(这也很重要,因为我们希望保留将后端存储换成 S3 以外的东西的可能性 future )。我们还研究了允许用户使用他们自己的 S3 帐户提交的可能性,某些 API 肯定会这样做,但我们认为这不是一个没有吸引力的选项。

最佳答案

鉴于您正在寻找公开 S3 的替代解决方案...

就个人而言 - 我只是从网站转储到 S3 并确保网站本身可以扩展。 (为了简单起见,去掉了队列部分)......但我已经添加了以下内容,因为你确实提到了查看 SQS。

  1. 使用非常简单的 API 创建一个小型网站来转储您的文件到 SQS
  2. 创建一个为 SQS 提供服务的小型服务可重复安装(使用 userdata/chef/cloudformation为服务和网站选择您喜欢的风格
  3. 为网站注册启动配置、ELB 和缩放组 - 选择您的缩放参数
  4. 注册启动配置和扩展组服务 - 选择您的缩放参数
  5. 通过 IAM 和角色配置文件提供对 Web 服务器的访问以写入 SQS 队列
  6. 通过 IAM 和角色配置文件提供对要读取的服务的访问权限SQS 队列
  7. 提供对服务的访问以写入 S3

这将为您提供跨 Web 服务、队列、写入服务和 S3 的可扩展性。

关于rest - 无需 CORS 直接上传到 S3(非浏览器),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16322393/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com