1 个不稳定版本
使用旧的 Rust 2015
0.1.0 | 2018 年 4 月 15 日 |
---|
#5 in #typesafe
12KB
Rincon - ArangoDB Rust 驱动程序
《rincon》仓库 (crate) 本身不提供任何功能。它作为 Rincon 项目的一个入口点,该项目旨在为 ArangoDB 提供 Rust 的完整驱动程序。
Rincon 项目提供了几个 crate。您可以选择您项目所需的功能以及您偏好的抽象级别。将这些功能分离成几个 crate 可以让您只导入项目所需的那部分 crate。
提供以下 crate:
- rincon_core : 定义了驱动程序通用的 API,并供其他 crate 使用。
- rincon_connector : 实现了驱动程序的通信层。
- rincon_client : 实现了由 ArangoDB 提供的 REST API 的方法。
- rincon_session : 在 rincon_client 的基础上提供同步的高级别 API。
- rincon_session_async : 在 rincon_client 的基础上提供异步的高级别 API。
- rincon_aql : 提供了一种类型安全的 DSL 来构建 AQL 查询。
- rincon_test_helper : 提供用于与 ArangoDB 服务器进行集成测试的实用工具。
以下是描述 crate 之间依赖关系的图示
入门指南
有关如何使用 Rincon ArangoDB 驱动程序的指南,请参阅 rincon_session API 和 rincon_client API 的文档。
项目状态
目前上述列出的所有 crate 还未全部发布
已准备和发布的 crate 有:
- rincon_core : 定义了驱动程序通用的 API,并供其他 crate 使用。
- rincon_connector : 实现了驱动程序的通信层。
- rincon_client : 实现了由 ArangoDB 提供的 REST API 的方法。
- rincon_session : 在 rincon_client 的基础上提供同步的高级别 API。
- rincon_test_helper : 提供用于与 ArangoDB 服务器进行集成测试的实用工具。
计划中但尚未准备好的 crate
- rincon_session_async : 在 rincon_client 的基础上提供异步的高级别 API。
- rincon_aql : 提供了一种类型安全的 DSL 来构建 AQL 查询。
我应该将哪些 crate 添加为项目的依赖项?
首先选择您想要使用低级rincon_client API还是高级rincon_session_async API。这两个API都是异步的。也就是说,方法返回Tokio项目中的Future
(未来)。如果您更喜欢同步API,您可能想使用rincon_session API。
此外,您还需要一个所谓的连接器来与ArangoDB服务器通信。连接器由rincon_connector提供。
要使用提供的连接器与低级客户端API一起使用,请将以下内容添加到您的Cargo.toml
[dependencies]
rincon_core = "0.1"
rincon_connector = "0.1"
rincon_client = "0.1"
注意: rincon_client提供程序提供了一些可选的包功能。请参阅此包的README以获取其包功能列表和使用方法。
要使用提供的连接器与同步会话API一起使用,请将以下内容添加到您的Cargo.toml
[dependencies]
rincon_core = "0.1"
rincon_connector = "0.1"
rincon_session = "0.1"
注意:由于rincon_session是在rincon_client之上构建的,它导出了rincon_client的可选包功能。因此,可以将rincon_client的相同功能应用于rincon_session包的依赖定义。请参阅rincon_client包的README以获取功能列表和使用方法。
要使用提供的连接器与异步会话API一起使用,请将以下内容添加到您的Cargo.toml
[dependencies]
rincon_core = "0.1"
rincon_connector = "0.1"
rincon_session_async = "0.1"
注意:由于rincon_session_async是在rincon_client之上构建的,它导出了rincon_client的可选包功能。因此,可以将rincon_client的相同功能应用于rincon_session_async包的依赖定义。请参阅rincon_client包的README以获取功能列表和使用方法。
使用上述最小依赖关系,您可以以字符串的形式编写AQL查询。要使用类型安全的AQL查询构建器,请将此依赖项添加到您的Cargo.toml
[dependencies]
rincon_aql = "0.1"
#.. plus rincon dependencies as described above
在应用程序中,您不会直接使用rincon_core提供程序。但如果您想要实现自己的连接器而不是使用提供的连接器,则自定义实现应仅依赖于rincon_core。您还需要rincon_core来实现ArangoDB REST API中尚未由rincon_client提供的功能。
许可证
根据Apache许可证版本2.0授权
有关详细信息,请参阅LICENSE或https://apache.ac.cn/licenses/LICENSE-2.0。
贡献
除非您明确说明,否则根据Apache-2.0许可证定义,您提交的任何有意包含在工作中的贡献,都应按照上述条款进行许可,不附加任何额外条款或条件。