建立数据室,基于云的安全文件共享和存储

问题描述 投票:0回答:1

作为连接项目和投资者的系统的一部分,我需要构建一个安全的在线文件存储和共享系统。

该系统的目标如下:

  • 项目可以安全上传他们的机密文件
  • 项目可以向投资者授予对其中一些机密文件的访问权限(通过电子邮件或用户 ID)
  • 项目可以通过创建新文件夹和添加新文件来重新排列其数据室,只要它们不超过存储限制。
  • 对文件和文件夹进行 CRUD。

我搜索了数据室作为一项服务,但它们非常罕见,而且现有的价格昂贵。

所以我开始在亚马逊 AWS s3 存储桶之上进行构建。我计划将有关谁有权访问文件、文件标签以及任何其他数据的元数据存储在 mongodb 中,用户将首先通过获取项目的数据室来查询 mongodb。 (数据室只是项目的根文件夹,它包含所有子文件夹和文件。)

然后每个文件和文件夹都有一个父级,如果我们想获取根文件夹(数据室级别 1)中的所有文件夹和文件,那么我们的查询将如下所示:

const folder = await Folder.findById(id);
if (!folder)
 { 
  throw new NotFoundException("Folder not found");
 } 
const files = await FileModel.find({ parent: folder._id });
const subfolders = await Folder.find({ parent: folder._id });
return { folder, files, subfolders, };

无论如何,我真正要问的是,我是否走在正确的道路上,或者我会后悔采取了在 AWS 之上构建的方法吗?

我是初级工程师,身边没有资深工程师,请多多指教。

amazon-web-services file security storage
1个回答
0
投票

您肯定可以使用AWS来构建这个应用程序。一种选择是使用 React 构建一个具有非常丰富前端的无服务器 AWS 应用程序。如果你使用 React - 看看使用:

云景

您可以使用 React Fetch API 向 Gateway 发出请求,然后构建不同的 Lambda 函数来与 S3 等 AWS 服务交互。

所有这一切都可以使用AWS来实现。要提供有关如何构建此类可与 AWS 服务交互的无服务器解决方案的指导,请查看此处的 FSA 无服务器示例:

创建一个分析客户反馈并合成音频的应用程序

如果您完成此示例,您肯定会对在 AWS 上构建无服务器应用程序有更深入的了解。然后您可以将这些概念应用到您的解决方案中。

© www.soinside.com 2019 - 2024. All rights reserved.