5 个版本
0.1.4 | 2024年7月21日 |
---|---|
0.1.3 | 2024年7月21日 |
0.1.2 | 2024年4月19日 |
0.1.1 | 2024年4月18日 |
0.1.0 | 2024年4月18日 |
#307 在 配置
303 每月下载
18KB
202 行
Storus
一个库,通过抽象低级通信协议(REST/gRPC),简化了 Rust 开发者使用 StooKV 作为其配置管理工具时的生活。
用法
要使用 storus
,将依赖项包含在您的 Cargo.toml
中
[dependencies]
storus = "0.1.4"
然后,将此添加到您的 crate 中
use storus::stoo::Stoo;
use storus::stoo_config::StooConfig;
fn main() {
// ...
}
示例
使用最小配置创建 stoo 客户端
use storus::stoo::Stoo;
use storus::stoo_config::StooConfig;
#[tokio::main]
async fn main() {
let config = StooConfig::from("http://127.0.0.1:50051");
let mut stookv = Stoo::new(config).await;
}
使用扩展配置创建 stoo 客户端
use crate::stoo::Stoo;
use crate::stoo_config::StooConfig;
#[tokio::main]
async fn main() {
let config = StooConfig::from("http://127.0.0.1:50051")
.response_timeout(Duration::from_millis(20000))
.connect_timeout(Duration::from_millis(1000))
.default_namespace("my-app")
.default_profile("prod")
.ca_certificate("/tmp/ca_cert.pem")
.domain("x.test.example.com");
let mut stookv = Stoo::new(config).await;
}
完整示例
use storus::stoo::Stoo;
use storus::stoo_config::StooConfig;
#[tokio::main]
async fn main() {
let config = StooConfig::from("http://127.0.0.1:50051");
let mut stookv = Stoo::new(config).await;
//set value to a key
let result1 = stookv.set("my-app", "prod", "database.username", "admin3").await.unwrap();
println!("result1: {}", result1);
//get value from key
let result2 = stookv.get("my-app", "prod", "database.username").await.unwrap();
println!("result2: {}", result2);
//get all key value pairs by from a given namespace and profile
let result3 = stookv.get_all_by_namespace_and_profile("my-app", "prod").await.unwrap();
println!("result3: {:?}", result3);
//get a value from default namespace and profile as initially specified
let result4 = stookv.get_default("database.username").await.unwrap();
println!("result4: {}", result4);
//set secret key
let result5 = stookv.set_secret("my-app", "prod", "database.password", "qwerty@1234").await.unwrap();
println!("result5: {}", result5);
}
许可证
该项目根据 MIT 许可证 许可。
贡献
除非您明确说明,否则您提交给 Storus
的任何有意贡献都将根据 MIT 许可证许可,无需任何附加条款或条件。
依赖项
~45MB
~800K SLoC