azure.eventhub.amqp package

class azure.eventhub.amqp.AmqpAnnotatedMessage(**kwargs: Any)[source]

The AMQP Annotated Message for advanced sending and receiving scenarios which allows you to access to low-level AMQP message sections. There should be one and only one of either data_body, sequence_body or value_body being set as the body of the AmqpAnnotatedMessage; if more than one body is set, ValueError will be raised. Please refer to the AMQP spec: http://docs.oasis-open.org/amqp/core/v1.0/os/amqp-core-messaging-v1.0-os.html#section-message-format for more information on the message format. :keyword data_body: The body consists of one or more data sections and each section contains opaque binary data. :paramtype data_body: Union[str, bytes, List[Union[str, bytes]]] :keyword sequence_body: The body consists of one or more sequence sections and

each section contains an arbitrary number of structured data elements.

Keyword Arguments
  • value_body (Any) – The body consists of one amqp-value section and the section contains a single AMQP value.

  • header (Optional[AmqpMessageHeader]) – The amqp message header.

  • footer (Optional[dict]) – The amqp message footer.

  • properties (Optional[AmqpMessageProperties]) – Properties to add to the amqp message.

  • application_properties (Optional[dict]) – Service specific application properties.

  • annotations (Optional[dict]) – Service specific message annotations.

  • delivery_annotations (Optional[dict]) – Service specific delivery annotations.

property annotations

Service specific message annotations. :rtype: Optional[dict]

property application_properties

Service specific application properties. :rtype: Optional[dict]

property body

The body of the Message. The format may vary depending on the body type: For ~azure.eventhub.AmqpMessageBodyType.DATA, the body could be bytes or Iterable[bytes] For ~azure.eventhub.AmqpMessageBodyType.SEQUENCE, the body could be List or Iterable[List] For ~azure.eventhub.AmqpMessageBodyType.VALUE, the body could be any type. :rtype: Any

property body_type

The body type of the underlying AMQP message. rtype: ~azure.eventhub.amqp.AmqpMessageBodyType

property delivery_annotations

Delivery-specific non-standard properties at the head of the message. Delivery annotations convey information from the sending peer to the receiving peer. :rtype: dict

property footer

The message footer. :rtype: Optional[dict]

property header

The message header. :rtype: Optional[~azure.eventhub.amqp.AmqpMessageHeader]

property properties

Properties to add to the message. :rtype: Optional[~azure.eventhub.amqp.AmqpMessageProperties]

class azure.eventhub.amqp.AmqpMessageHeader(**kwargs)[source]

The Message header. The Message header. This is only used on received message, and not set on messages being sent. The properties set on any given message will depend on the Service and not all messages will have all properties. Please refer to the AMQP spec: http://docs.oasis-open.org/amqp/core/v1.0/os/amqp-core-messaging-v1.0-os.html#type-header for more information on the message header. :keyword delivery_count: The number of unsuccessful previous attempts to deliver

this message. If this value is non-zero it can be taken as an indication that the delivery might be a duplicate. On first delivery, the value is zero. It is incremented upon an outcome being settled at the sender, according to rules defined for each outcome.

Keyword Arguments
  • time_to_live (Optional[int]) – Duration in milliseconds for which the message is to be considered “live”. If this is set then a message expiration time will be computed based on the time of arrival at an intermediary. Messages that live longer than their expiration time will be discarded (or dead lettered). When a message is transmitted by an intermediary that was received with a ttl, the transmitted message’s header SHOULD contain a ttl that is computed as the difference between the current time and the formerly computed message expiration time, i.e., the reduced ttl, so that messages will eventually die if they end up in a delivery loop.

  • durable (Optional[bool]) – Durable messages MUST NOT be lost even if an intermediary is unexpectedly terminated and restarted. A target which is not capable of fulfilling this guarantee MUST NOT accept messages where the durable header is set to True: if the source allows the rejected outcome then the message SHOULD be rejected with the precondition-failed error, otherwise the link MUST be detached by the receiver with the same error.

  • first_acquirer (Optional[bool]) – If this value is True, then this message has not been acquired by any other link. If this value is False, then this message MAY have previously been acquired by another link or links.

  • priority (Optional[int]) – This field contains the relative message priority. Higher numbers indicate higher priority messages. Messages with higher priorities MAY be delivered before those with lower priorities.

Variables
  • delivery_count (Optional[int]) – The number of unsuccessful previous attempts to deliver this message. If this value is non-zero it can be taken as an indication that the delivery might be a duplicate. On first delivery, the value is zero. It is incremented upon an outcome being settled at the sender, according to rules defined for each outcome.

  • time_to_live (Optional[int]) – Duration in milliseconds for which the message is to be considered “live”. If this is set then a message expiration time will be computed based on the time of arrival at an intermediary. Messages that live longer than their expiration time will be discarded (or dead lettered). When a message is transmitted by an intermediary that was received with a ttl, the transmitted message’s header SHOULD contain a ttl that is computed as the difference between the current time and the formerly computed message expiration time, i.e., the reduced ttl, so that messages will eventually die if they end up in a delivery loop.

  • durable (Optional[bool]) – Durable messages MUST NOT be lost even if an intermediary is unexpectedly terminated and restarted. A target which is not capable of fulfilling this guarantee MUST NOT accept messages where the durable header is set to True: if the source allows the rejected outcome then the message SHOULD be rejected with the precondition-failed error, otherwise the link MUST be detached by the receiver with the same error.

  • first_acquirer (Optional[bool]) – If this value is True, then this message has not been acquired by any other link. If this value is False, then this message MAY have previously been acquired by another link or links.

  • priority (Optional[int]) – This field contains the relative message priority. Higher numbers indicate higher priority messages. Messages with higher priorities MAY be delivered before those with lower priorities.

get(key: Any, default: Optional[Any] = None)Any
has_key(k: Any)bool
items()list
keys()list
update(*args: Any, **kwargs: Any)None
values()list
class azure.eventhub.amqp.AmqpMessageProperties(**kwargs)[source]

Message properties. The properties that are actually used will depend on the service implementation. Not all received messages will have all properties, and not all properties will be utilized on a sent message. Please refer to the AMQP spec: http://docs.oasis-open.org/amqp/core/v1.0/os/amqp-core-messaging-v1.0-os.html#type-properties for more information on the message properties. :keyword message_id: Message-id, if set, uniquely identifies a message within the message system.

The message producer is usually responsible for setting the message-id in such a way that it is assured to be globally unique. A broker MAY discard a message as a duplicate if the value of the message-id matches that of a previously received message sent to the same node.

Keyword Arguments
  • user_id (Optional[Union[str, bytes]]) – The identity of the user responsible for producing the message. The client sets this value, and it MAY be authenticated by intermediaries.

  • to (Optional[Union[str, bytes]]) – The to field identifies the node that is the intended destination of the message. On any given transfer this might not be the node at the receiving end of the link.

  • subject (Optional[Union[str, bytes]]) – A common field for summary information about the message content and purpose.

  • reply_to (Optional[Union[str, bytes]]) – The address of the node to send replies to.

  • correlation_id (Optional[Union[str, bytes]]) – This is a client-specific id that can be used to mark or identify messages between clients.

  • content_type (Optional[Union[str, bytes]]) – The RFC-2046 MIME type for the message’s application-data section (body).

  • content_encoding (Optional[Union[str, bytes]]) – The content-encoding property is used as a modifier to the content-type.

  • creation_time (Optional[int]) – An absolute time when this message was created.

  • absolute_expiry_time (Optional[int]) – An absolute time when this message is considered to be expired.

  • group_id (Optional[Union[str, bytes]]) – Identifies the group the message belongs to.

  • group_sequence (Optional[int]) – The relative position of this message within its group.

  • reply_to_group_id (Optional[Union[str, bytes]]) – This is a client-specific id that is used so that client can send replies to this message to a specific group.

Variables
  • message_id (Optional[bytes]) – Message-id, if set, uniquely identifies a message within the message system. The message producer is usually responsible for setting the message-id in such a way that it is assured to be globally unique. A broker MAY discard a message as a duplicate if the value of the message-id matches that of a previously received message sent to the same node.

  • user_id (Optional[bytes]) – The identity of the user responsible for producing the message. The client sets this value, and it MAY be authenticated by intermediaries.

  • to (Optional[bytes]) – The to field identifies the node that is the intended destination of the message. On any given transfer this might not be the node at the receiving end of the link.

  • subject (Optional[bytes]) – A common field for summary information about the message content and purpose.

  • reply_to (Optional[bytes]) – The address of the node to send replies to.

  • correlation_id (Optional[bytes]) – his is a client-specific id that can be used to mark or identify messages between clients.

  • content_type (Optional[bytes]) – The RFC-2046 MIME type for the message’s application-data section (body).

  • content_encoding (Optional[bytes]) – The content-encoding property is used as a modifier to the content-type.

  • creation_time (Optional[int]) – An absolute time when this message was created.

  • absolute_expiry_time (Optional[int]) – An absolute time when this message is considered to be expired.

  • group_id (Optional[bytes]) – Identifies the group the message belongs to.

  • group_sequence (Optional[int]) – The relative position of this message within its group.

  • reply_to_group_id (Optional[bytes]) – This is a client-specific id that is used so that client can send replies to this message to a specific group.

get(key: Any, default: Optional[Any] = None)Any
has_key(k: Any)bool
items()list
keys()list
update(*args: Any, **kwargs: Any)None
values()list
class azure.eventhub.amqp.AmqpMessageBodyType(value)[source]

An enumeration.

DATA = 'data'
SEQUENCE = 'sequence'
VALUE = 'value'