Web API作为虚拟文件系统?

时间:2010-08-06 08:54:20

标签: fuse

我一直在努力将RESTful Web API(例如CouchDB,Twitter)表示为文件系统 - 只是为了娱乐和学习体验。但是,我不知道这是否可行或如何开始。

例如,可以通过 /mnt/example.org/foo/bar 访问http://example.org/foo/bar之类的资源。我想ls /mnt/example.org/foo会返回bar baz

虽然我知道 <{em> FUSE,但我真的不知道关于它。不是一个低级程序员,我想知道是否有某种Python API,或者我可能只是编写一些Bash脚本来触发curl文件系统查询请求?

任何指针都将非常感谢!

1 个答案:

答案 0 :(得分:6)

此标准称为WebDAV。请参阅:http://webdav.org

甚至还有一个FUSE驱动程序:http://savannah.nongnu.org/projects/davfs2

查看源代码,看起来davfs2是用C语言编写的。它可能是一个有趣的项目,用Python或Perl重新实现它。


啊,从评论中我看到你想要的是如何编写FUSE模块的指针。当然,你写TwitterFS之类的想法是可行的。它可能会像/ proc中的东西一样工作。

用于实现保险丝的Perl库已有详细记录:CPAN - Fuse。您只需加载模块并实现相关的回调函数即可。看起来很容易。

这是一个Python FUSE库:fusepy。它没有详细记录,但有几个例子,包括一个功能性的sftp文件系统。