作为连接项目和投资者的系统的一部分,我需要构建一个安全的在线文件存储和共享系统。
该系统的目标如下:
我搜索了数据室作为一项服务,但它们非常罕见,而且现有的价格昂贵。
所以我开始在亚马逊 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 之上构建的方法吗?
我是初级工程师,身边没有资深工程师,请多多指教。
您肯定可以使用AWS来构建这个应用程序。一种选择是使用 React 构建一个具有非常丰富前端的无服务器 AWS 应用程序。如果你使用 React - 看看使用:
您可以使用 React Fetch API 向 Gateway 发出请求,然后构建不同的 Lambda 函数来与 S3 等 AWS 服务交互。
所有这一切都可以使用AWS来实现。要提供有关如何构建此类可与 AWS 服务交互的无服务器解决方案的指导,请查看此处的 FSA 无服务器示例:
如果您完成此示例,您肯定会对在 AWS 上构建无服务器应用程序有更深入的了解。然后您可以将这些概念应用到您的解决方案中。