Creates a new CloudEvent object with the provided properties. If there is a chance that the event
properties will not conform to the CloudEvent specification, you may pass a boolean false as a
second parameter to bypass event validation.
the event properties
whether to perform event validation when creating the object - default: true
[OPTIONAL] The event payload. This specification does not place any restriction on the type of this information. It is encoded into a media format which is specified by the datacontenttype attribute (e.g. application/json), and adheres to the dataschema format when those respective attributes are present.
[OPTIONAL] The event payload encoded as base64 data. This is used when the data is in binary form.
[OPTIONAL] Content type of data value. This attribute enables data to
carry any type of content, whereby format and encoding might differ from that
of the chosen event format. For example, an event rendered using the
JSON envelope format might carry an XML payload
in data, and the consumer is informed by this attribute being set to
"application/xml". The rules for how data content is rendered for different
datacontenttype values are defined in the event format specifications; for
example, the JSON event format defines the relationship in
section 3.1.
[OPTIONAL] Identifies the schema that data adheres to. Incompatible
changes to the schema SHOULD be reflected by a different URI. See
Versioning of Attributes in the Primer
for more information.
If present, MUST be a non-empty URI.
[REQUIRED] Identifies the event. Producers MUST ensure that source + id
is unique for each distinct event. If a duplicate event is re-sent (e.g. due
to a network error) it MAY have the same id. Consumers MAY assume that
Events with identical source and id are duplicates.
[REQUIRED] Identifies the context in which an event happened. Often this
will include information such as the type of the event source, the
organization publishing the event or the process that produced the event. The
exact syntax and semantics behind the data encoded in the URI is defined by
the event producer.
Producers MUST ensure that source + id is unique for each distinct event.
An application MAY assign a unique source to each distinct producer, which
makes it easy to produce unique IDs since no other producer will have the same
source. The application MAY use UUIDs, URNs, DNS authorities or an
application-specific scheme to create unique source identifiers.
A source MAY include more than one producer. In that case the producers MUST
collaborate to ensure that source + id is unique for each distinct event.
[REQUIRED] The version of the CloudEvents specification which the event
uses. This enables the interpretation of the context. Compliant event
producers MUST use a value of 1.0 when referring to this version of the
specification.
[OPTIONAL] This describes the subject of the event in the context of the
event producer (identified by source). In publish-subscribe scenarios, a
subscriber will typically subscribe to events emitted by a source, but the
source identifier alone might not be sufficient as a qualifier for any
specific event if the source context has internal sub-structure.
Identifying the subject of the event in context metadata (opposed to only in
the data payload) is particularly helpful in generic subscription filtering
scenarios where middleware is unable to interpret the data content. In the
above example, the subscriber might only be interested in blobs with names
ending with '.jpg' or '.jpeg' and the subject attribute allows for
constructing a simple and efficient string-suffix filter for that subset of
events.
If present, MUST be a non-empty string.
[OPTIONAL] Timestamp of when the occurrence happened. If the time of the
occurrence cannot be determined then this attribute MAY be set to some other
time (such as the current time) by the CloudEvents producer, however all
producers for the same source MUST be consistent in this respect. In other
words, either they all use the actual time of the occurrence or they all use
the same algorithm to determine the value used.
[REQUIRED] This attribute contains a value describing the type of event
related to the originating occurrence. Often this attribute is used for
routing, observability, policy enforcement, etc. The format of this is
producer defined and might include information such as the version of the
type - see
Versioning of Attributes in the Primer
for more information.
Clone a CloudEvent with new/updated attributes
attributes to augment the CloudEvent without a data property
whether or not to use strict validation when cloning (default: true)
returns a new CloudEvent
Clone a CloudEvent with new/updated attributes and new data
attributes to augment the CloudEvent with a data property and type
whether or not to use strict validation when cloning (default: true)
returns a new CloudEvent
Emit this CloudEvent through the application
fail the promise if one listener fail
this
Used by JSON.stringify(). The name is confusing, but this method is called by JSON.stringify() when converting this object to JSON.
this event as a plain object
Validates this CloudEvent against the schema
true if this event is valid
Clone a CloudEvent with new or updated attributes.
an object that implements the CloudEventV1 interface
an object with new or updated attributes
true if the resulting event should be valid per the CloudEvent specification
a CloudEvent cloned from event with options applied.
Generated using TypeDoc
A CloudEvent describes event data in common formats to provide interoperability across services, platforms and systems.
https://github.com/cloudevents/spec/blob/v1.0/spec.md