11个不稳定版本 (3个破坏性更新)
0.4.5 | 2024年7月24日 |
---|---|
0.4.4 | 2024年7月15日 |
0.4.1 | 2024年6月13日 |
0.4.0 | 2024年4月25日 |
0.1.1 | 2024年1月25日 |
在 HTTP服务器 中排名 90
每月下载量 357
185KB
3.5K SLoC
dsh-sdk-platform-rs
描述
此库可用于与DSH平台交互。它旨在作为用于与DSH交互的服务的基础。功能包括
- 连接到DSH
- 检索Kafka属性和证书
- Rest API令牌检索器(与dsh_rest_api_client一起使用)
- 常用函数
- 预配置的RDKafka客户端配置
- 预配置的Reqwest客户端配置(用于模式存储)
- 优雅关闭
- Prometheus度量(Web服务器和度量crate的重新导出)
- 死信队列(实验性)
注意
Rdkafka以及因此此库依赖于CMAKE。请确保在您的环境或Dockerfile中安装了它。有关示例,请参阅dockerfile。
用法
要在项目中使用此SDK的默认功能,请将以下内容添加到您的Cargo.toml文件中
[dependencies]
dsh_sdk = "0.4"
但是,如果您只想使用特定功能,您可以在Cargo.toml文件中指定它们。例如,如果您只想使用bootstrap功能,请将以下内容添加到您的Cargo.toml文件中
[dependencies]
dsh_sdk = { version = "0.4", default-features = false, features = ["bootstrap"] }
有关可用功能的更多信息,请参阅功能标志。
要在项目中使用此SDK
use dsh_sdk::Properties;
use dsh_sdk::rdkafka::consumer::{Consumer, StreamConsumer};
fn main() -> Result<(), Box<dyn std::error::Error>>{
let dsh_properties = Properties::get();
// get a rdkafka consumer config for example
let consumer: StreamConsumer = dsh_properties.consumer_rdkafka_config().create()?;
}
连接到DSH
SDK与在DSH租户上运行的容器、DSH系统空间、带有Kafka代理/VPN的机器或本地机器到本地Kafka兼容。有关更多信息,请参阅CONNECT_PROXY_VPN_LOCAL。
功能标志
此库中提供了以下功能,您可以在Cargo.toml文件中启用/禁用。
功能 | 默认 | 描述 |
---|---|---|
bootstrap |
✓ | 生成签名证书并获取数据流信息 还提供证书,用作底层API |
rest-token-fetcher |
✓ | 获取一个令牌以使用DSH Rest API |
指标 |
✓ | 启用(自定义)服务指标 |
graceful_shutdown |
✓ | 创建一个信号处理器以实现优雅关闭 |
dlq |
✗ | 死信队列实现(实验性) |
rdkafka-ssl |
✓ | 动态链接librdkafka到本地安装的OpenSSL |
rdkafka-ssl-vendored |
✗ | 在编译时构建OpenSSL并静态链接librdkafka (环境无需初始安装,编译时间较慢) |
请参阅API文档以获取有关如何使用这些功能的更多信息,包括。
环境变量
默认RDKafka配置可以通过设置环境变量来覆盖。有关更多信息,请参阅ENV_VARIABLES.md。
Api doc
请参阅api documentation以获取有关如何使用此库的更多信息。
示例
请参阅dsh_sdk/examples文件夹,以获取如何使用SDK的简单示例。
完整服务示例
请参阅example_dsh_service文件夹,以获取完整服务示例,包括如何构建Rust项目和发布到Harbor。有关更多信息,请参阅readme。
Changelog
请参阅CHANGELOG.md以了解每个版本的更改。
Contributing
请参阅CONTRIBUTING.md以获取有关如何为此项目做出贡献的更多信息。
License
请参阅LICENSE以获取有关此项目许可证的更多信息。
Security
请参阅SECURITY.md以获取有关此项目的安全策略的更多信息。
版权(c)Koninklijke KPN N.V。
依赖关系
~0.7–17MB
~254K SLoC