47 个版本
0.9.2 | 2024 年 5 月 17 日 |
---|---|
0.8.4 | 2024 年 4 月 16 日 |
0.8.0 | 2024 年 3 月 6 日 |
0.6.2 | 2023 年 8 月 25 日 |
0.0.15 | 2022 年 3 月 31 日 |
#1445 在 网页编程
每月 54 次下载
在 ydb-steroids 中使用
775KB
17K SLoC
Rust YDB SDK
YDB 的 Rust SDK。支持的 Rust 版本:1.60.0 及更高版本。
集成测试,对依赖真实 YDB 数据库的标记为忽略。要运行它
- 设置 YDB_CONNECTION_STRING 环境变量
- 运行 cargo test -- --ignored
Cargo 功能强制 exhaustive-all
禁用公共接口中所有 non_exhaustive 标记,以强制在编译时而不是运行时检查新变体。
lib.rs
:
YDB SDK - YDB 的客户端。
示例
#
// create driver
let client = ClientBuilder::new_from_connection_string("grpc://127.0.0.1:2136?database=local")?
.with_credentials(StaticToken::from("asd"))
.client()?;
// wait until driver background initialization finish
client.wait().await?;
// read query result
let sum: i32 = client
.table_client() // create table client
.retry_transaction(|mut t| async move {
// code in transaction can retry few times if was some retriable error
// send query to database
let res = t.query(Query::from("SELECT 1 + 1 AS sum")).await?;
// read exact one result from db
let field_val: i32 = res.into_only_row()?.remove_field_by_name("sum")?.try_into()?;
// return result
return Ok(field_val);
})
.await?;
// it will print "sum: 2"
println!("sum: {}", sum);
更多示例
依赖项
~25–40MB
~746K SLoC