blpapi.Message

class blpapi.Message

A handle to a single message.

Message objects are obtained by iterating an Event. Each Message is associated with a Service and with one or more CorrelationId values. The Message contents are represented as an Element and all Element’s accessors could be used to access the data.

The possible fragment types are:

The possible recap types are:

Message objects are always created by the API, never directly by the application.

FRAGMENT_END = 3

Final part of a fragmented message

FRAGMENT_INTERMEDIATE = 2

Intermediate fragment

FRAGMENT_NONE = 0

Unfragmented message

FRAGMENT_START = 1

Start of a fragmented message

RECAPTYPE_NONE = 0

Normal data tick

RECAPTYPE_SOLICITED = 1

Generated on request by subscriber

RECAPTYPE_UNSOLICITED = 2

Generated by the service

asElement()
Returns

The content of this Message as an Element.

Return type

Element

correlationIds()
Returns

Correlation ids associated with this message.

Return type

[CorrelationId]

Note

A Message will have exactly one CorrelationId unless allowMultipleCorrelatorsPerMsg option was enabled for the Session this Message belongs to. When allowMultipleCorrelatorsPerMsg is disabled (the default), and more than one active subscription would result in the same Message, the Message is delivered multiple times (without making physical copies). Each Message is accompanied by a single CorrelationId. When allowMultipleCorrelatorsPerMsg is enabled and more than one active subscription would result in the same Message the Message is delivered once with a list of corresponding CorrelationId values.

destroy()
fragmentType()
Returns

Fragment type of this message.

Return type

int

Fragment types are listed in the class docstring.

getElement(name)

Equivalent to asElement().getElement(name).

getElementAsBool(name)

Equivalent to asElement().getElementAsBool(name).

getElementAsDatetime(name)

Equivalent to asElement().getElementAsDatetime(name).

getElementAsFloat(name)

Equivalent to asElement().getElementAsFloat(name).

getElementAsInteger(name)

Equivalent to asElement().getElementAsInteger(name).

getElementAsString(name)

Equivalent to asElement().getElementAsString(name).

hasElement(name, excludeNullElements=False)

Equivalent to asElement().hasElement(name, excludeNullElements).

messageType()
Returns

Type of this message.

Return type

Name

numElements()

Equivalent to asElement().numElements().

recapType()
Returns

Recap type of this message.

Return type

int

Recap types are listed in the class docstring.

service()
Returns

Service that this Message is associated with.

Return type

Service

timeReceived(tzinfo=<blpapi.datetime.FixedOffset object>)

Get the time when the message was received by the SDK.

Parameters

tzinfo (tzinfo) – Timezone info

Returns

Time when the message was received by the SDK.

Return type

datetime.datetime or datetime.date or datetime.time

Raises

ValueError – If this information was not recorded for this message. See SessionOptions.recordSubscriptionDataReceiveTimes() for information on configuring this recording.

The resulting datetime will be represented using the specified tzinfo value, and will be measured using a high-resolution clock internal to the SDK.

toString(level=0, spacesPerLevel=4)

Format this Message to the string at the specified indentation level.

Parameters
  • level (int) – Indentation level

  • spacesPerLevel (int) – Number of spaces per indentation level for this and all nested objects

Returns

This element formatted as a string

Return type

str

If level is negative, suppress indentation of the first line. If spacesPerLevel is negative, format the entire output on one line, suppressing all but the initial indentation (as governed by level).

topicName()
Returns

Topic string of this message. If there is no topic associated with the message, empty string is returned.

Return type

str