This project implements the CloudEvents Spec for Rust.
Note: This project is WIP under active development, hence all APIs are considered unstable.
| | v0.3 | v1.0 | | :---------------------------: | :----------------------------------------------------------------------------: | :---------------------------------------------------------------------------------: | | CloudEvents Core | ✓ | ✓ | | AMQP Protocol Binding | ✕ | ✕ | | AVRO Event Format | ✕ | ✕ | | HTTP Protocol Binding | ✓ | ✓ | | JSON Event Format | ✓ | ✓ | | Kafka Protocol Binding | ✓ | ✓ | | MQTT Protocol Binding | ✕ | ✕ | | NATS Protocol Binding | ✕ | ✕ | | Web hook | ✕ | ✕ |
cloudevents-sdk
: Provides Event data structure, JSON Event format implementation. This module is tested to work with GNU libc, WASM and musl toolchains.cloudevents-sdk-actix-web
: Integration with Actix Web.cloudevents-sdk-reqwest
: Integration with reqwest.cloudevents-sdk-rdkafka
: Integration with rust-rdkafka.To get started, add the dependency to Cargo.toml
:
toml
cloudevents-sdk = "0.2.0"
Now you can start creating events:
```rust use cloudevents::{EventBuilder, EventBuilderV10}; use url::Url;
let event = EventBuilderV10::new() .id("aaa") .source(Url::parse("http://localhost").unwrap()) .ty("example.demo") .build() .unwrap(); ```
Checkout the examples using our integrations to learn how to send and receive events:
If you're interested in contributing to sdk-rust, look at Contributing documentation
@slinkydeveloper
on slack).