node.js - 即时将文件从 S3 移动到 AWS EFS

标签 node.js amazon-web-services amazon-s3 storage amazon-efs

我正在构建一个用户可以上传图像的应用程序,为此我使用 S3 作为文件存储。

在应用程序的其他区域,有一些部署在 EC2 上的进程需要使用上传的图像。 这个过程需要多次图像(它会生成一些报告)并且它是多个 EC2 的一部分 - 使用弹性 beanstalk。

该过程不需要一次获取所有图像,但在它获得的每个作业中都需要它的一些子集(取决于它获得的参数)。

每个 ec2 实例都在做独立的工作——它们之间不共享文件,但它们可能需要相同的上传图像。

我现在正在做的是将所有图像从 s3 下载到 EC2 机器,因为它需要本地文件。 我读过 EFS 可以安装到 EC2,然后我可以像访问本地存储一样访问它。

我没有找到任何使用 nodejs(或其他语言)直接上传到 EFS 的示例,但我找到了一种将文件从 S3 传输到 EFS 的方法 - “DataSync”。 https://docs.aws.amazon.com/efs/latest/ug/transfer-data-to-efs.html

所以我有 3 个问题:

  1. 我真的不能从我的应用程序直接上传到 EFS 吗? (nodesjs + express)
  2. 将文件移动到 EFS 后,我能否像在 ec2 的本地存储中一样使用它?
  3. 一直将文件从 s3 移动到 efs 是个好主意,还是有其他方法可以解决我描述的问题?

最佳答案

对于这种确切情况,我们使用 https://github.com/kahing/goofys

它非常可靠,此外,还能够将 S3 存储桶作为文件夹安装在任何设备上 - Windows、Mac,当然还有 Linux。

也可以在 AWS 云“边界”之外工作 - 非常适合开发人员的笔记本电脑。

缺点是它确实/不能/在 Lambda 上下文中工作,但您不能拥有一切!

关于node.js - 即时将文件从 S3 移动到 AWS EFS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63881057/

相关文章:

node.js - EB CLI "eb create"错误 : InvalidParameterValueError - Platform ARN is invalid

node.js - 使用 react js 和 express API 服务器使用 fetch 发布一个对象

amazon-web-services - AWS MediaLive MediaPackage - 如何将实时流视频存储到 S3?

amazon-web-services - 将大文件从 AWS S3 迁移到 Azure Blob 存储。在 Java 中迁移时还需要监控进度

node.js - 使用 Azure DevOps 部署 Node.js 应用程序会导致出现有关缺少模块的错误

javascript - 从异步函数返回时如何防止 Knex.js 运行查询对象?

amazon-web-services - AWS : Assinging IAM roles to IAM users

amazon-web-services - EC2 在亚马逊网络服务上重新安装 ubuntu

amazon-web-services - Cloudformation - 构建堆栈时 Rds 失败

python - Django 应用程序不从 AWS 存储桶的媒体文件夹加载图像