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

Download history 45/week @ 2024-05-03 15/week @ 2024-05-10 27/week @ 2024-05-17 72/week @ 2024-05-24 41/week @ 2024-05-31 129/week @ 2024-06-07 64/week @ 2024-06-14 104/week @ 2024-06-21 202/week @ 2024-06-28 200/week @ 2024-07-05 127/week @ 2024-07-12 171/week @ 2024-07-19 155/week @ 2024-07-26 31/week @ 2024-08-02 50/week @ 2024-08-09 68/week @ 2024-08-16

每月下载量 357

Apache-2.0

185KB
3.5K SLoC

dsh-sdk-platform-rs

Build Status codecov dependency status License

描述

此库可用于与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