inotifywait可以与已安装的S3存储桶一起使用吗?

时间:2014-10-27 21:35:44

标签: amazon-web-services amazon-s3 amazon-ec2 s3fs inotifywait

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

enter image description here

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

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

另一个任务将文件转储到'todo'文件夹中进行处理。

Ubuntu EC2实例通过s3fs-fuse安装了存储桶,而inotifywait用于查看新文件的“todo”文件夹。

如果我在EC2实例中执行touch /mybucket/todo,则会触发inotifywait作业。但是,如果文件从另一个源上载到S3文件夹,则不会触发该作业。

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

1 个答案:

答案 0 :(得分:2)

简短的回答,可能不是。

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

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