1

我正在尝试在 AWS 中设置工作流程。

在此处输入图像描述

S3 存储桶包含以下文件夹:

mybucket/todo
mybucket/wip   <- work in progress
mybucket/done

另一个任务将文件转储到“待办事项”文件夹中进行处理。

一个 Ubuntu EC2 实例通过 s3fs-fuse 安装了存储桶,并inotifywait用于监视“待办事项”文件夹中的新文件。

如果我touch /mybucket/todo从 EC2 实例中执行,inotifywait则会触发该作业。但是,如果文件从其他来源上传到 S3 文件夹,则不会触发作业。

这看起来是一个明智的设计吗?如果是这样,你能看出我哪里出错了吗?还是我应该只使用cron

4

1 回答 1

3

简短的回答,可能不是。

即使您可以使用 s3fs 将卷挂载到文件系统,它最终也会伪造传统块卷的某些功能。因为它是对象存储系统而不是块设备。文件必须作为完整文件上传,并且不会单独提交任何块更改。

S3fs 不会保留存储桶中所有对象的最新列表。在您请求存储桶中的文件列表之前,它甚至不知道存储桶中存在新文件。为此,它必须发送一个 REST API 请求。

于 2014-10-28T03:21:19.363 回答