我们的客户有 Windows 文件共享,他们在其中存储了许多不同的文档。
我们希望将与通配符模式匹配的文件(例如*.pdf
,*.xlsx
等)从这些文件共享中提取到 S3 存储桶中,以构建数据湖。
我们正在考虑多种替代方案,但我们觉得有些人可能对如何做到这一点有更好的想法:
在客户端的 Windows 文件服务器上运行代理软件。
1.a. 编写一个 PowerShell 脚本,调用该脚本将
rclone
新的/修改的/删除的文件复制到 S3,并调用报告 HTTP API 来让我们知道它是成功还是失败,并使用任务计划程序安排该脚本定期运行。1.b. 做同样的事情,但使用
aws s3 sync
fromaws-cli
。1.c. Homeroll 我们基于 Facebook Watchman 或类似的文件监视解决方案的上传器。
在客户端文件服务器上设置一个 SFTP 或 WebDAV 服务器,并
rclone
从我们管理的 EC2 实例运行。
我们想知道是否没有其他更简单的技术可以使用。Amazon FSx 能提供一些帮助吗?比如某种自动复制机制,用于在 Amazon FSx Windows 文件系统上镜像我们的客户端文件共享?
或者也许还有其他类型的“使用 Amazon S3 后端推出自己的 Dropbox”解决方案?
答案1
您可以使用 Cloudberry Backup,它是一款单向同步应用程序。将其安装在 Windows Server 上,添加 S3 帐户,使用文件格式过滤器配置本地文件路径,并将目标配置到您的 S3 存储桶。此应用程序自带调度程序,可以自动运行。到目前为止,这是我使用的解决方案。AWS CLI 或其他开源应用程序(如 FreeFileSync)无法满足我的要求,因为这些应用程序需要在同步之前检查双方,随着文件的增长,这会导致问题。但在同步过程中,我只需将最新文件保留在 Windows 服务器上即可。