#grpc #zed #grpc-client #spicedb #authzed

spicedb-client

SpiceDB的Rust gRPC客户端,人体工学设计

1个不稳定版本

0.1.1 2024年8月10日

#4 in #zed

Download history 94/week @ 2024-08-05 43/week @ 2024-08-12

每月137次下载

Apache-2.0

195KB
3K SLoC

spicedb-client

SpiceDB gRPC API的实验性人体工学(类似)Rust客户端。

[!WARNING] 实验性!

特性

  • 围绕自动生成的Tonic gRPC API的更多人体工学包装
  • 构建器特性以简化请求创建。

安装

将以下内容添加到您的Cargo.toml

[dependencies]
spicedb-client = "0.1.1"

使用

use spicedb_client::SpicedbClient;
use spicedb_client::reader::*;

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    let spicedb_url = std::env::var("SPICEDB_URL")
        .unwrap_or_else(|_| "https://127.0.0.1:50051".to_string());

    let preshared_key = std::env::var("SPICEDB_PRESHARED_KEY")
        .unwrap_or_else(|_| "spicedb".to_string());

    let mut client = SpicedbClient::from_url_and_preshared_key(spicedb_url, preshared_key)
        .await
        .unwrap();

    // Read schema
    let response = client.read_schema().await.unwrap();
    let schema = response.schema_text();

    println!("Schema: {:?}", schema);

    Ok(())
}

文档

请参阅docs.rs/spicedb-client

贡献

我们欢迎贡献!

许可证

本项目采用Apache 2.0许可证。

致谢

此客户端基于官方的AuthZed SpiceDB API,并使用Tonic生成gRPC客户端。

依赖关系

~9–18MB
~239K SLoC