#grpc #database-driver #protobuf #sdk #grpc-client #low-level #generated

ydb

包含从 YDB API protobuf 生成的底层 grpc 代码,用作 ydb crate 的基础

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网页编程

Download history 1/week @ 2024-04-21 1/week @ 2024-04-28 345/week @ 2024-05-12 56/week @ 2024-05-19 2/week @ 2024-05-26 5/week @ 2024-06-02 4/week @ 2024-06-09 1/week @ 2024-06-16 2/week @ 2024-06-30 65/week @ 2024-07-07 54/week @ 2024-07-28

每月 54 次下载
ydb-steroids 中使用

Apache-2.0

775KB
17K SLoC

Rust YDB SDK 最新版本

文档

YDB 的 Rust SDK。支持的 Rust 版本:1.60.0 及更高版本。

集成测试,对依赖真实 YDB 数据库的标记为忽略。要运行它

  1. 设置 YDB_CONNECTION_STRING 环境变量
  2. 运行 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);

更多示例

URL 简化器应用程序

许多小型示例

依赖项

~25–40MB
~746K SLoC