9 个版本 (重大变更)
0.7.0 | 2023年2月24日 |
---|---|
0.6.0 | 2022年11月7日 |
0.5.0 | 2022年3月18日 |
0.4.0 | 2021年7月7日 |
0.0.1 | 2020年3月13日 |
在 网页编程 中排名第 790
每月下载量 15,518
用于 23 个 Crates (直接使用 18 个)
220KB
5K SLoC
CloudEvents SDK Rust

此项目实现了 Rust 的 CloudEvents 规范。
注意:此项目处于 WIP 状态,处于积极开发中,因此所有 API 都被视为不稳定。
规范支持
v0.3 | v1.0 | |
---|---|---|
CloudEvents 核心 | ✓ | ✓ |
AMQP 协议绑定 | ✕ | ✕ |
AVRO 事件格式 | ✕ | ✕ |
HTTP 协议绑定 | ✓ | ✓ |
JSON 事件格式 | ✓ | ✓ |
Kafka 协议绑定 | ✓ | ✓ |
MQTT 协议绑定 | ✕ | ✕ |
NATS 协议绑定 | ✓ | ✓ |
Web 钩子 | ✕ | ✕ |
包结构
核心模块包括 Event
和 EventBuilder
数据结构的定义、JSON 序列化规则以及支持各种协议绑定的机制,每个绑定通过特定的 功能标志 启用。
actix
:与 actix 集成。axum
:与 axum 集成。warp
:与 warp 集成。reqwest
:与 reqwest 集成。rdkafka
:与 rdkafka 集成。nats
:与 nats 集成
此包持续测试以与 GNU libc、WASM 和 musl 工具链一起工作。
开始使用
要开始使用,请将依赖项添加到 Cargo.toml
,可选地启用您选择的协议绑定
[dependencies]
cloudevents-sdk = { version = "0.7.0" }
现在您可以开始创建事件了
use cloudevents::{EventBuilder, EventBuilderV10};
use url::Url;
let event = EventBuilderV10::new()
.id("aaa")
.source(Url::parse("https://127.0.0.1").unwrap())
.ty("example.demo")
.build()?;
通过我们的集成示例学习如何发送和接收事件
开发与贡献
如果您想为 sdk-rust 贡献,请查看 贡献文档
社区
- 在每月的 9 点 PT(美国太平洋时间)的 Serverless/CloudEvents 调用之后立即进行双周会议。这意味着它们通常在 10 点 PT 开始,但如果其他会议提前结束,则 SDK 调用也将提前开始。请参阅 CloudEvents 会议纪要 以确定哪一周将进行会议。
- Slack:#cloudeventssdk(或 #cloudevents-sdk-rust)频道位于 CNCF 的 Slack 工作区 下。
- 电子邮件: https://lists.cncf.io/g/cncf-cloudevents-sdk
- 联系更多信息:Francesco Guardiani(在 slack 上的
@slinkydeveloper
)。
每个 SDK 可能都有自己的独特流程、工具和指南,有关共同治理相关材料的更多信息可以在 CloudEvents community
目录中找到。特别是,在那里您将找到有关 SDK 项目如何 管理、如何进行 PR 审查和批准的 指南,以及我们的 行为准则 信息。
依赖关系
~4–23MB
~382K SLoC