43次发布
0.14.0 | 2024年7月10日 |
---|---|
0.12.4 | 2024年1月1日 |
0.12.3 | 2023年11月21日 |
0.11.1 | 2023年5月3日 |
0.1.1 | 2020年3月28日 |
#38 in 密码学
97,035 每月下载量
用于 70 个crate (25 直接)
230KB
5.5K SLoC
etcd-client
为Rust提供的etcd v3 API客户端。它提供由tokio和tonic支持的异步客户端。
特性
- etcd API v3
- 异步
支持的API
- KV
- 监控
- 租约
- 认证
- 维护
- 集群
- 锁
- 选举
- 命名空间
用法
将以下内容添加到您的 Cargo.toml
[dependencies]
etcd-client = "0.14"
tokio = { version = "1.0", features = ["full"] }
开始使用 etcd-client
use etcd_client::{Client, Error};
#[tokio::main]
async fn main() -> Result<(), Error> {
let mut client = Client::connect(["localhost:2379"], None).await?;
// put kv
client.put("foo", "bar", None).await?;
// get kv
let resp = client.get("foo", None).await?;
if let Some(kv) = resp.kvs().first() {
println!("Get kv: {{{}: {}}}", kv.key_str()?, kv.value_str()?);
}
Ok(())
}
示例
示例可以在 examples
中找到。
特性标志
tls
: 启用基于rustls
的TLS连接。默认不启用。tls-roots
: 使用rustls-native-certs
crate 将系统信任根添加到基于rustls
的TLS连接。默认不启用。pub-response-field
: 提供用于创建常规etcd-client
响应的struct,包括内部protobuf表示。对于模拟很有用。默认不启用。tls-openssl
: 启用基于openssl
的TLS连接。这将使您的二进制文件动态链接到libssl
。tls-openssl-vendored
: 与tls-openssl
类似,但是从源代码编译openssl并将其静态链接。
测试
我们使用etcd 3.5来测试这个库。
注意,我们使用固定的 etcd
服务器URI(localhost:2379)来连接到etcd服务器。
Rust版本要求
最低支持版本是1.70。当前 etcd-client
版本不保证在低于最低支持版本的Rust版本上构建。
许可证
双许可以与Rust项目兼容。
本软件遵循Apache License 2.0 http://www.apache.org/licenses/LICENSE_2.0 或MIT许可证 http://opensource.org/licenses/MIT,具体取决于您。除非您明确声明,否则您提交到 etcd-client
的任何贡献都将被许可为Apache-2.0和MIT,不附加任何额外条款或条件。
贡献
除非您明确声明,否则您提交到 etcd-client
的任何有意贡献都将按照Apache-2.0和MIT许可证许可,不附加任何额外条款或条件。
依赖
~5–18MB
~245K SLoC