blpapi.Message
- class blpapi.Message(handle, event=None, sessions=None)
A handle to a single message.
Message
objects are obtained by iterating anEvent
. EachMessage
is associated with aService
and with one or moreCorrelationId
values. TheMessage
contents are represented as anElement
and allElement
‘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
- __contains__(item)
Equivalent to
asElement().__contains__()
.- Return type
- __getitem__(name)
Equivalent to
asElement().__getitem__()
.- Return type
- __iter__()
Equivalent to
asElement().__iter__()
.- Return type
- __len__()
Equivalent to
asElement().__len__()
.- Return type
- correlationId()
- Returns
The single correlation id or the first correlation id associated with the message, or None if the message is not associated with any correlation ids.
Note
See
correlationIds()
for more details.If
allowMultipleCorrelatorsPerMsg
is enabled,correlationIds()
should be used.
- correlationIds()
- Returns
Correlation ids associated with this message.
Note
A subscription data
Message
has exactly oneCorrelationId
unless theallowMultipleCorrelatorsPerMsg
option is enabled for theSession
.When
allowMultipleCorrelatorsPerMsg
is disabled (the default), multiple active subscriptions of the same topic result in the sameMessage
being delivered multiple times (without making physical copies), with a singleCorrelationId
from each active subscription.Otherwise, only one
Message
is delivered with all theCorrelationId
s from the active subscriptions.
- fragmentType()
- Return type
- Returns
Fragment type of this message.
Fragment types are listed in the class docstring.
- getElement(name)
Equivalent to
asElement().getElement(name)
.- Return type
- getElementAsBool(name)
Equivalent to
asElement().getElementAsBool(name)
.- Return type
- getElementAsDatetime(name)
Equivalent to
asElement().getElementAsDatetime(name)
.
- getElementAsFloat(name)
Equivalent to
asElement().getElementAsFloat(name)
.- Return type
- getElementAsInteger(name)
Equivalent to
asElement().getElementAsInteger(name)
.- Return type
- getElementAsString(name)
Equivalent to
asElement().getElementAsString(name)
.- Return type
- getRequestId()
Return the message’s request id if one exists, otherwise return
None
.When present, the request id can be reported to Bloomberg to troubleshoot the cause of failure messages, or issues with the data contained in the message.
Note that request id is not the same as correlation id and should not be used for correlation purposes.
- hasElement(name, excludeNullElements=False)
Equivalent to asElement().hasElement(name, excludeNullElements).
- Return type
- numElements()
Equivalent to
asElement().numElements()
.- Return type
- recapType()
- Return type
- Returns
Recap type of this message.
Recap types are listed in the class docstring.
- 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
- 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.
- toPy()
Equivalent to
asElement().toPy()
.- Return type
- toString(level=0, spacesPerLevel=4)
Format this
Message
to the string at the specified indentation level.- Parameters
- Return type
- Returns
This element formatted as a string
If
level
is negative, suppress indentation of the first line. IfspacesPerLevel
is negative, format the entire output on one line, suppressing all but the initial indentation (as governed bylevel
).
- topicName()
- Return type
- Returns
Topic string of this message. If there is no topic associated with the message, empty string is returned.
DEPRECATED
This function has been deprecated because messages could contain multiple payloads with different correlation ids, and each of these correlation ids may map to different topic strings.
In such a scenario, it would be incorrect to choose one out of the multiple topics (for the various correlation id’s in the message) as the topic name for the message. Trying to make this correct would result in extra look up costs.
For correctness, users are encouraged to maintain a data structure in their application to help retrieve the topic name associated with the cid’s present in the delivered message.