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 Arguments
  • data_body (Union[str, bytes, List[Union[str, bytes]]]) – The body consists of one or more data sections and each section contains opaque binary data.

  • sequence_body (List[Any]) – The body consists of one or more sequence sections and each section contains an arbitrary number of structured data elements.

  • 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.

Return type

Optional[dict]

property application_properties

Service specific application properties.

Return type

Optional[dict]

property body

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

Return type

Any

property body_type

The body type of the underlying AMQP message.

Return type

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.

Return type

dict

property footer

The message footer.

Return type

Optional[dict]

property header

The message header.

Return type

Optional[AmqpMessageHeader]

property properties

Properties to add to the message.

Return type

Optional[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 Arguments
  • 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.

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 Arguments
  • message_id (Optional[Union[str, bytes, uuid.UUID]]) – 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[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'