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://").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