--- title: "Source Data and Metadata" --- # Source Data and Metadata > This page details the extractable elements from each source. When pulling data into handlers using expressions, you will need to add curly brackets around the expression itself. See [Handler Expressions](ignition-modules\event-streams\event-streams.md#handler-expressions) on how this information is extracted. ## Kafka :::note The Kafka source requires the [Kafka module](../../../cloud-connector-modules/kafka/kafka.md) to be installed and enabled. If the Kafka module is not installed or is disabled, the source will not function and no extractable elements will be available. ::: ### Event Object - Data There is no pre-existing extractable Kafka event object data, as this is provided by the user. ### Event Object - Metadata The table below explains the extractable metadata fields for Kafka event objects. | Metadata Field | Expression Syntax | Description | |---|---|---| | topic | `{event.metadata.topic}` | The topic the source event object came from. Topics are similar to folders in a file system, helping to categorize data. | | partition | `{event.metadata.partition}` | The partition the source event object came from. Partitions are contained within topics, and help improve efficiency by breaking up large chunks of data into smaller partitions. | | offset | `{event.metadata.offset}` | The assigned index that helps keep track of which events have already been consumed, allowing consumers to stop and resume consumption without needing to consume from the beginning. | | headers | `{event.metadata.headers}` | The metadata or context specific to a message, but separate from the actual message payload. Headers are typically stored as key value pairs, and contains information such as the format of the message payload. | | key | `{event.metadata.key}` | The key of the Kafka event object, which determines the partition the event object payload will go to. | ## HTTP :::note The HTTP source requires the [Web Dev module](../../../web-dev/web-dev.md) to be installed and enabled. If the Web Dev module is not installed or is disabled, the source will not function and no extractable elements will be available. ::: ### Event Object - Data There is no pre-existing extractable HTTP event object data, as this is provided by the user. ### Event Object - Metadata The table below explains the extractable metadata fields for HTTP event objects. | Metadata Field | Expression Syntax | Description | |---|---|---| | method | `{event.metadata.method}` | The type of method the HTTP request is using, such as POST and PUT. | | headers | `{event.metadata.headers}` | Additional categorical data about the HTTP request, such as the host or accepted language. | | parameters | `{event.metadata.parameters}` | The parameters the HTTP request abides by to perform a specified method. | | scheme | `{event.metadata.scheme}` | The protocol used for the HTTP request, such as HTTP or HTTPS. | | remoteAddr | `{event.metadata.remoteAddr}` | The IP address of the domain you are performing an HTTP request on. | | remoteHost | `{event.metadata.remoteHost}` | The domain name of the target you are performing an HTTP request on, such as www.inductiveautomation.com. | ## Alarm Unlike the event objects above that are set up using an explicit source within the event stream, the alarm event object requires using both the [Event Stream Source block](ignition-modules\alarm-notification\alarm-notification-pipelines\pipeline-blocks\pipeline-blocks.md#event-stream-source-block) and an event listener source. ### Event Object - Data The table below explains the extractable data fields for alarm event objects. | Data Field | Expression Syntax | Description | |---|---|---| | eventId | `{event.data.eventId}` | The UUID of the alarm event. | | source | `{event.data.source}` | The qualified path of the entity that generated the alarm event. | | displayPath | `{event.data.displayPath}` | The display path of the alarm. | | priority | `{event.data.priority}` | The priority of the alarm, as an integer. Expected results are: 0 (Diagnostic)1 (Low)2 (Medium)3 (High)4 (Critical) | | priorityReadable | `{event.data.propertyReadable}` | The priority of the alarm, as a string. Expected results are: Diagnostic (0)Low (1)Medium (2)High (3)Critical (4) | | eventType | `{event.data.eventType}` | The condition of the alarm event, as an integer. Expected results are: 0 (Cleared and Unacknowledged)1 (Cleared and Acknowledged)2 (Active and Unacknowledged)3 (Active and Acknowledged) | | eventTypeReadable | `{event.data.eventTypeReadable}` | The condition of the alarm event, as a string. Expected results are: Cleared, Acknowledged (0)Cleared, Unacknowledged (1)Active, Unacknowledged (2)Active, Acknowledged (3) | | eventFlags | `{event.data.eventFlags}` | A numeric bitmask flag that provides additional information about the alarm event. See the [Alarm Events table](platform/alarming/alarm-journal/alarm-journal.md#alarm-events-alarm_events) for more information on eventFlags. | | eventTime | `{event.data.eventTime}` | The datetime of the alarm event. | ### Event Object - Metadata There is no extractable Alarm event object metadata. ## Tag Event ### Event Object - Data The table below explains the extractable data fields for tag event objects. | Data Field | Expression Syntax | Description | |---|---|---| | value | `{event.data.value}` | The value of the tag event object. | | quality | `{event.data.quality}` | The quality code of the tag that the tag value originates from. See the [Quality Code Reference Table](platform\tags\quality-codes-and-overlays\quality-codes-and-overlays.md#quality-code-reference-table) for more information on different qualities. | | timestamp | `{event.data.timestamp}` | The timestamp of the tag value. | ### Event Object - Metadata The table below explains the extractable metadata fields for tag event objects. | Data Field | Expression Syntax | Description | |---|---|---| | tagPath | `{event.metadata.tagPath}` | The tag path of the event object, as a string. | | isInitial | `{event.metadata.isInitial}` | A boolean that returns true if the specified event object's value is the initial value after creating or editing the tag. Follows the same logic as a tag script's [initialChange](platform\tags\tag-event-scripts\tag-event-scripts.md#value-changed) argument. | |previousValue| `{event.metadata.previousValue}` | The qualified previous value of a tag that includes the value, quality, and timestamp properties. Follows the same logic as a tag script's [previousValue](platform\tags\tag-event-scripts\tag-event-scripts.md#value-changed) argument.|