pub struct CloudEvent {
pub specversion: String,
pub id: String,
pub source: String,
pub event_type: String,
pub datacontenttype: Option<String>,
pub dataschema: Option<String>,
pub subject: Option<String>,
pub time: Option<String>,
pub data: Option<Value>,
pub extensions: HashMap<String, Value>,
}Expand description
CloudEvents v1.0 envelope
Required attributes: specversion, id, source, type.
Optional attributes: datacontenttype, dataschema, subject, time.
Extension attributes stored in extensions.
Fields§
§specversion: StringCloudEvents spec version (always “1.0”)
id: StringEvent identifier (maps to Event.id)
source: StringEvent source (maps to Event.source)
event_type: StringEvent type (maps to Event.event_type, or “a3s.event” for untyped)
datacontenttype: Option<String>Data content type
dataschema: Option<String>Data schema URI
subject: Option<String>Event subject (maps to Event.subject)
time: Option<String>Timestamp in RFC 3339 format
data: Option<Value>Event payload
extensions: HashMap<String, Value>Extension attributes (includes a3s-prefixed fields)
Implementations§
Trait Implementations§
Source§impl Clone for CloudEvent
impl Clone for CloudEvent
Source§fn clone(&self) -> CloudEvent
fn clone(&self) -> CloudEvent
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for CloudEvent
impl Debug for CloudEvent
Source§impl<'de> Deserialize<'de> for CloudEvent
impl<'de> Deserialize<'de> for CloudEvent
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl From<Event> for CloudEvent
Convert an A3S Event to a CloudEvent (lossless)
impl From<Event> for CloudEvent
Convert an A3S Event to a CloudEvent (lossless)
A3S-specific fields are stored as extension attributes:
a3scategory— Event.categorya3sversion— Event.versiona3ssummary— Event.summarya3stimestamp— Event.timestamp (Unix ms)a3smeta_<key>— each metadata entry
Source§impl PartialEq for CloudEvent
impl PartialEq for CloudEvent
Source§impl Serialize for CloudEvent
impl Serialize for CloudEvent
Source§impl TryFrom<CloudEvent> for Event
Convert a CloudEvent back to an A3S Event
impl TryFrom<CloudEvent> for Event
Convert a CloudEvent back to an A3S Event
Extracts A3S-specific fields from extension attributes. Fails if required A3S extensions are missing.