3.3.16.9 Record: ChannelMetadataRecord
Topic Version | 1 | Published | 10/31/2016 | |
For Standard | ETP v1.1 |
Describes metadata for one channel and corresponds roughly to the LogCurveInfo structure in WITSML v1.4.1.1. The ChannelMetadata message sends an array of these.
Avro Schema |
---|
{ "type": "record", "namespace": "Energistics.Datatypes.ChannelData", "name": "ChannelMetadataRecord", "fields": [ { "name": "channelUri", "type": "string" }, { "name": "channelId", "type": "long" }, { "name": "indexes", "type": { "type": "array", "items": "Energistics.Datatypes.ChannelData.IndexMetadataRecord" } }, { "name": "channelName", "type": "string" }, { "name": "dataType", "type": "string" }, { "name": "uom", "type": "string" }, { "name": "startIndex", "type": ["null", "long"] }, { "name": "endIndex", "type": ["null", "long"] }, { "name": "description", "type": "string" }, { "name": "status", "type": "Energistics.Datatypes.ChannelData.ChannelStatuses" }, { "name": "contentType", "type": ["null", "string"] }, { "name": "source", "type": "string" }, { "name": "measureClass", "type": "string" }, { "name": "uuid", "type": ["null", "string"] }, { "name": "customData", "type": { "type": "map", "values": "Energistics.Datatypes.DataValue" } }, { "name": "domainObject", "type": ["null", "Energistics.Datatypes.Object.DataObject"] } ] } |
Attribute |
Description |
Data Type |
Min |
Max |
---|---|---|---|---|
channelUri |
A URI for the channel. It MUST be unique within the context of a server. |
string |
1 |
1 |
channelId |
A producer-defined integer identifier for the channel. Channel IDs are only unique or meaningful within a given session. If you start a new session, the same channel URI may result in a different channel ID. |
long |
1 |
1 |
indexes |
The metadata for the indexes associated with this channel.
|
IndexMetadataRecord |
1 |
n |
channelName |
The name for the channel. In WITSML v1.4.1, this corresponds directly to the mnemonic in LogCurveInfo. |
string |
1 |
1 |
dataType |
The fully-qualified name of the Avro data type for the channel (i.e., double, float, int, etc.) To use logicalType, as defined by the Avro spec for dates, times, etc. See the notes under the customData field of ChannelMetadataRecord. |
string |
1 |
1 |
uom |
The unit of measure for the channel. All DataItems and DataRows send data using this UOM. The ChannelData protocol does not support conversion to a consumer-requested system of measurement. |
string |
1 |
1 |
startIndex |
The first (lowest) recorded primary index value for the channel. |
long |
0 |
1 |
endIndex |
The last (highest) recorded primary index value for the channel. For active channels, this value is only good at the time the metadata is sent. |
long |
0 |
1 |
description |
Human-readable description of the channel. It maps to the Description field of the Citation element of the Channel XML object. |
string |
1 |
1 |
status |
Current status of this channel; any changes to this status during a session results in ChannelStatusChange notification. |
ChannelStatuses |
1 |
1 |
contentType |
|
string |
0 |
1 |
source |
Source of the data in the channel. For WITSML, this contains the contractor name. |
string |
1 |
1 |
measureClass |
For WITSML, it is the PWLS class of the channel. |
string |
1 |
1 |
uuid |
The UUID of the channel object in the store. For WITSML, this normally is the UUID of a channel. However, in the case of streaming complex objects over Protocol 1 (i.e., TrajectoryStation or WBGeometrySection) there is no corresponding channel object, and this is the UUID of the parent trajectory, etc. |
string |
0 |
1 |
customData |
Name-Value pair (implemented as an Avro map) of custom values for the ChannelMetadata. This may contain both well-known (and thus, reserved) values as well as application and vendor-specific values. Names are case sensitive. The following are currently defined: logicalType: String Value. Used to define logical types in channel data, as permitted by the Avro specification (https://avro.apache.org/docs/1.8.0/spec.html#Logical+Types ). Specifically, these values are supported: decimal, date, time-millis, time-micros, timestamp-millis, timestamp-micros, and duration. precision: Integer value. Used for the precision of a decimal logicalType. scale - Integer value. Used for the scale of a decimal logicalType. |
DataValue |
0 |
n |
domainObject |
Optional domain-specific data object describing the channel. This allows more complete channel metadata (such as a complete description of dimensions for an array channel) to be passed to the consumer. The field is optional for ETP. Individual ML implementations may require this field in certain circumstances. |
DataObject |
0 |
1 |