12 个版本

0.2.2 2024 年 3 月 13 日
0.2.1 2024 年 3 月 13 日
0.1.8 2024 年 3 月 5 日
0.1.5 2024 年 2 月 28 日
0.1.3 2023 年 8 月 31 日

#16 in #rocksdb

Download history

657 每月下载量

AGPL-3.0-only

91KB
2K SLoC

BicycleDB 管理器

ci crates.io docs.rs license dependency status

BicycleDB 的 CLI 和构建函数。

CLI

在安装 bicycle 之前,您需要安装 Rustprotoc

安装

cargo install bicycle

构建

使用您的模式,您可以使用 build 命令生成您的 Bicycle 组件。

bicycle build schema.proto

引擎

Bicycle 的默认存储引擎是 RocksDB,但 librocksdb-sys 的初始构建需要相当长的时间(在迭代模式时后续构建应该更快)。如果您希望初始构建更快或出于其他原因希望使用 SQLite,您还可以通过提供 --engine 标志来使用 SQLite 引擎。

bicycle build schema.proto --engine sqlite

运行服务器

您现在可以使用以下命令启动服务器。

bicycle start

调用和部署 Biplane 函数(又称 SPROCs)

bicycle fn 命令在为 --lang rust 编译时依赖于 cargo-wasi;二进制文件可以使用 cargo install cargo-wasi 安装(详细信息 在此处)。

部署

bicycle fn deploy \
  --addr http://0.0.0.0:50051 \
  --lang rust \
  --path ./path/to/fn \
  --name some-fn-name

调用已部署

bicycle fn invoke \
  --addr http://0.0.0.0:50051 \
  --name some-fn-name \
  --args '{"some_key": "some_value"}'

一次性

bicycle fn invoke \
  --addr http://0.0.0.0:50051 \
  --lang rust \
  --path ./path/to/fn \
  --args '{"some_key": "some_value"}'

自动化构建

CLI 可执行文件中使用的组件也公开用于在 build.rs 文件中使用。

# Cargo.toml
[build-dependencies]
bicycle = "x.x.x"

注意:如果使用路径导入 bicycle_shimsbicycle_core,则需要在初始构建之前运行 bicycle build schema.proto,以便 cargo 有一个 __bicycle__/core|shims/Cargo.toml 可供引用。对 schema.proto 的后续更改不应需要重新运行 CLI 的 bicycle build 命令。

// build.rs
use std::env;
use std::error::Error;

fn main() -> Result<(), Box<dyn Error>> {
    let schema_path = concat!(env!("CARGO_MANIFEST_DIR"), "/schema.proto");
    bicycle::build(schema_path, "rocksdb")
}

有关更详细的用法,请参阅 示例

许可证

AGPL-v3

依赖项

~6-14MB
~156K SLoC