Nice! 期待你的 PR。
另外欢迎通过 https://opendal.apache.org/community/committers/onboarding#subscribe-to-mailing-list 这里提到的方式订阅我们的邮件列表。 On Thu, Sep 12, 2024, at 00:57, feathercyc wrote: > 我目前已经实现好了NebulaGraph的rust客户端部分与OpenDAL调用rust客户端连接NebulaGraph的功能。NebulaGraph的rust客户端的功能作为客户端还尚不完善,但是也足以支持OpenDAL通过字符串类型存取一些文件了。 > > 对于NebulaGraph服务,OpenDAL将支持get,set,delete和scan操作(当然rename也是理论上可行的,但是我没找着impl > Access同时又不用重复写write,read这些方法的例子,rust水平有限😭,我看见其他的db也没有rename功能,所以先暂且放弃) > > OpenDAL将支持存取1MB大小以下的文件,由于NebulaGraph原生没有Blob类型,所以只能用字符串类型暂时替代,但一般的二进制数据转字符串会有随机的转义字符和引号,NebulaGraph是完全没有处理的,因此这些符号会直接导致nGQL语法解析失败。官方的建议是存小字符串自己转义,存大文件虽然奇怪但是建议直接使用Base64方便快捷(他们论坛上和负责人都是这么建议的),我正是这么干的😇这样确实会造成4/3的额外空间占用,而且稍微有点不太符合OpenDAL希望自己能访问到的数据其他客户端也能访问到的原则,但是即使手动处理转义字符和引号不仅难说确保所有情况都覆盖,使得插入数据以及解析数据时不报错,而且解析数据也不是拿到手就是原文件,还得再转义转回来。总之Base64确实算是比较方便且通用的方案了。 > > NebulaGraph也有未来支持Blob类型的想法(也是论坛的帖子和负责人都说过的,帖子是20年的,负责人是我问了刚说的),那么到那个时候我们直接移除代码里Base64.encode和decode就可以接着用了😇 > > OpenDAL的test::behaviour测试我已经全部pass了,相关的PR最近几天我发布rust-nebula客户端crate后就会提:) -- Xuanwo https://xuanwo.io/
