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