azure.servicebus.aio.management package

class azure.servicebus.aio.management.ServiceBusAdministrationClient(fully_qualified_namespace: str, credential: AsyncTokenCredential, *, api_version: str | ApiVersion = ApiVersion.V2021_05, **kwargs: Any)[source]

Use this client to create, update, list, and delete resources of a ServiceBus namespace.

Parameters:
  • fully_qualified_namespace (str) – The fully qualified host name for the Service Bus namespace.

  • credential (AsyncTokenCredential) – To authenticate to manage the entities of the ServiceBus namespace.

Keyword Arguments:

api_version (str or ApiVersion) – The Service Bus API version to use for requests. Default value is the most recent service version that is compatible with the current SDK. Setting to an older version may result in reduced feature compatibility.

async close() None[source]
async create_queue(queue_name: str, *, authorization_rules: List[AuthorizationRule] | None = None, auto_delete_on_idle: timedelta | str | None = None, dead_lettering_on_message_expiration: bool | None = None, default_message_time_to_live: timedelta | str | None = None, duplicate_detection_history_time_window: timedelta | str | None = None, enable_batched_operations: bool | None = None, enable_express: bool | None = None, enable_partitioning: bool | None = None, lock_duration: timedelta | str | None = None, max_delivery_count: int | None = None, max_size_in_megabytes: int | None = None, requires_duplicate_detection: bool | None = None, requires_session: bool | None = None, forward_to: str | None = None, user_metadata: str | None = None, forward_dead_lettered_messages_to: str | None = None, max_message_size_in_kilobytes: int | None = None, **kwargs: Any) QueueProperties[source]

Create a queue.

Parameters:

queue_name (str) – Name of the queue.

Keyword Arguments:
  • authorization_rules (list[AuthorizationRule]) – Authorization rules for resource.

  • auto_delete_on_idle (Union[timedelta, str]) – ISO 8601 timeSpan idle interval after which the queue is automatically deleted. The minimum duration is 5 minutes. Input value of either type ~datetime.timedelta or string in ISO 8601 duration format like “PT300S” is accepted.

  • dead_lettering_on_message_expiration (bool) – A value that indicates whether this queue has dead letter support when a message expires.

  • default_message_time_to_live (Union[timedelta, str]) – ISO 8601 default message timespan to live value. This is the duration after which the message expires, starting from when the message is sent to Service Bus. This is the default value used when TimeToLive is not set on a message itself. Input value of either type ~datetime.timedelta or string in ISO 8601 duration format like “PT300S” is accepted.

  • duplicate_detection_history_time_window (Union[timedelta, str]) – ISO 8601 timeSpan structure that defines the duration of the duplicate detection history. The default value is 10 minutes. Input value of either type ~datetime.timedelta or string in ISO 8601 duration format like “PT300S” is accepted.

  • enable_batched_operations (bool) – Value that indicates whether server-side batched operations are enabled.

  • enable_express (bool) – A value that indicates whether Express Entities are enabled. An express queue holds a message in memory temporarily before writing it to persistent storage.

  • enable_partitioning (bool) – A value that indicates whether the queue is to be partitioned across multiple message brokers.

  • lock_duration (Union[timedelta, str]) – ISO 8601 timespan duration of a peek-lock; that is, the amount of time that the message is locked for other receivers. The maximum value for LockDuration is 5 minutes; the default value is 1 minute. Input value of either type ~datetime.timedelta or string in ISO 8601 duration format like “PT300S” is accepted.

  • max_delivery_count (int) – The maximum delivery count. A message is automatically deadlettered after this number of deliveries. Default value is 10.

  • max_size_in_megabytes (int) – The maximum size of the queue in megabytes, which is the size of memory allocated for the queue.

  • requires_duplicate_detection (bool) – A value indicating if this queue requires duplicate detection.

  • requires_session (bool) – A value that indicates whether the queue supports the concept of sessions.

  • forward_to (str) – The name of the recipient entity to which all the messages sent to the queue are forwarded to.

  • user_metadata (str) – Custom metdata that user can associate with the description. Max length is 1024 chars.

  • forward_dead_lettered_messages_to (str) – The name of the recipient entity to which all the dead-lettered messages of this subscription are forwarded to.

  • max_message_size_in_kilobytes (int) – The maximum size in kilobytes of message payload that can be accepted by the queue. This feature is only available when using a Premium namespace and Service Bus API version “2021-05” or higher. The minimum allowed value is 1024 while the maximum allowed value is 102400. Default value is 1024.

Returns:

Returns the properties of the queue.

Return type:

QueueProperties

async create_rule(topic_name: str, subscription_name: str, rule_name: str, *, filter: ~azure.servicebus.management._models.CorrelationRuleFilter | ~azure.servicebus.management._models.SqlRuleFilter = <azure.servicebus.management._models.TrueRuleFilter object>, action: ~azure.servicebus.management._models.SqlRuleAction | None = None, **kwargs: ~typing.Any) RuleProperties[source]

Create a rule for a topic subscription.

Parameters:
  • topic_name (str) – The topic that will own the to-be-created subscription rule.

  • subscription_name (str) – The subscription that will own the to-be-created rule.

  • rule_name (str) – Name of the rule.

Keyword Arguments:
Returns:

Returns the rules of the topic subscription.

Return type:

RuleProperties

async create_subscription(topic_name: str, subscription_name: str, *, lock_duration: timedelta | str | None = None, requires_session: bool | None = None, default_message_time_to_live: timedelta | str | None = None, dead_lettering_on_message_expiration: bool | None = None, dead_lettering_on_filter_evaluation_exceptions: bool | None = None, max_delivery_count: int | None = None, enable_batched_operations: bool | None = None, forward_to: str | None = None, user_metadata: str | None = None, forward_dead_lettered_messages_to: str | None = None, auto_delete_on_idle: timedelta | str | None = None, **kwargs: Any) SubscriptionProperties[source]

Create a topic subscription.

Parameters:
  • topic_name (str) – The topic that will own the to-be-created subscription.

  • subscription_name (str) – Name of the subscription.

Keyword Arguments:
  • lock_duration (Union[timedelta, str]) – ISO 8601 timespan duration of a peek-lock; that is, the amount of time that the message is locked for other receivers. The maximum value for LockDuration is 5 minutes; the default value is 1 minute. Input value of either type ~datetime.timedelta or string in ISO 8601 duration format like “PT300S” is accepted.

  • requires_session (bool) – A value that indicates whether the queue supports the concept of sessions.

  • default_message_time_to_live (Union[timedelta, str]) – ISO 8601 default message timespan to live value. This is the duration after which the message expires, starting from when the message is sent to Service Bus. This is the default value used when TimeToLive is not set on a message itself. Input value of either type ~datetime.timedelta or string in ISO 8601 duration format like “PT300S” is accepted.

  • dead_lettering_on_message_expiration (bool) – A value that indicates whether this subscription has dead letter support when a message expires.

  • dead_lettering_on_filter_evaluation_exceptions (bool) – A value that indicates whether this subscription has dead letter support when a message expires.

  • max_delivery_count (int) – The maximum delivery count. A message is automatically deadlettered after this number of deliveries. Default value is 10.

  • enable_batched_operations (bool) – Value that indicates whether server-side batched operations are enabled.

  • forward_to (str) – The name of the recipient entity to which all the messages sent to the subscription are forwarded to.

  • user_metadata (str) – Metadata associated with the subscription. Maximum number of characters is 1024.

  • forward_dead_lettered_messages_to (str) – The name of the recipient entity to which all the messages sent to the subscription are forwarded to.

  • auto_delete_on_idle (Union[timedelta, str]) – ISO 8601 timeSpan idle interval after which the subscription is automatically deleted. The minimum duration is 5 minutes. Input value of either type ~datetime.timedelta or string in ISO 8601 duration format like “PT300S” is accepted.

Returns:

Returns the properties of the topic subscription that was created.

Return type:

SubscriptionProperties

async create_topic(topic_name: str, *, default_message_time_to_live: timedelta | str | None = None, max_size_in_megabytes: int | None = None, requires_duplicate_detection: bool | None = None, duplicate_detection_history_time_window: timedelta | str | None = None, enable_batched_operations: bool | None = None, size_in_bytes: int | None = None, filtering_messages_before_publishing: bool | None = None, authorization_rules: List[AuthorizationRule] | None = None, support_ordering: bool | None = None, auto_delete_on_idle: timedelta | str | None = None, enable_partitioning: bool | None = None, enable_express: bool | None = None, user_metadata: str | None = None, max_message_size_in_kilobytes: int | None = None, **kwargs: Any) TopicProperties[source]

Create a topic.

Parameters:

topic_name (str) – Name of the topic.

Keyword Arguments:
  • default_message_time_to_live (Union[timedelta, str]) – ISO 8601 default message timespan to live value. This is the duration after which the message expires, starting from when the message is sent to Service Bus. This is the default value used when TimeToLive is not set on a message itself. Input value of either type ~datetime.timedelta or string in ISO 8601 duration format like “PT300S” is accepted.

  • max_size_in_megabytes (int) – The maximum size of the topic in megabytes, which is the size of memory allocated for the topic.

  • requires_duplicate_detection (bool) – A value indicating if this topic requires duplicate detection.

  • duplicate_detection_history_time_window (Union[timedelta, str]) – ISO 8601 timeSpan structure that defines the duration of the duplicate detection history. The default value is 10 minutes. Input value of either type ~datetime.timedelta or string in ISO 8601 duration format like “PT300S” is accepted.

  • enable_batched_operations (bool) – Value that indicates whether server-side batched operations are enabled.

  • size_in_bytes (int) – The size of the topic, in bytes.

  • filtering_messages_before_publishing (bool) – Filter messages before publishing.

  • authorization_rules (list[AuthorizationRule]) – Authorization rules for resource.

  • support_ordering (bool) – A value that indicates whether the topic supports ordering.

  • auto_delete_on_idle (Union[timedelta, str]) – ISO 8601 timeSpan idle interval after which the topic is automatically deleted. The minimum duration is 5 minutes. Input value of either type ~datetime.timedelta or string in ISO 8601 duration format like “PT300S” is accepted.

  • enable_partitioning (bool) – A value that indicates whether the topic is to be partitioned across multiple message brokers.

  • enable_express (bool) – A value that indicates whether Express Entities are enabled. An express queue holds a message in memory temporarily before writing it to persistent storage.

  • user_metadata (str) – Metadata associated with the topic.

  • max_message_size_in_kilobytes (int) – The maximum size in kilobytes of message payload that can be accepted by the queue. This feature is only available when using a Premium namespace and Service Bus API version “2021-05” or higher. The minimum allowed value is 1024 while the maximum allowed value is 102400. Default value is 1024.

Returns:

Returns the properties of the topic.

Return type:

TopicProperties

async delete_queue(queue_name: str, **kwargs: Any) None[source]

Delete a queue.

Parameters:

queue_name (str) – The name of the queue or a QueueProperties with name.

Return type:

None

async delete_rule(topic_name: str, subscription_name: str, rule_name: str, **kwargs: Any) None[source]

Delete a topic subscription rule.

Parameters:
  • topic_name (str) – The topic that owns the subscription.

  • subscription_name (str) – The subscription that owns the topic.

  • rule_name (str) – The to-be-deleted rule.

Return type:

None

async delete_subscription(topic_name: str, subscription_name: str, **kwargs: Any) None[source]

Delete a topic subscription.

Parameters:
  • topic_name (str) – The topic that owns the subscription.

  • subscription_name (str) – The subscription to be deleted.

Return type:

None

async delete_topic(topic_name: str, **kwargs: Any) None[source]

Delete a topic.

Parameters:

topic_name (str) – The topic to be deleted.

Return type:

None

classmethod from_connection_string(conn_str: str, *, api_version: str | ApiVersion = ApiVersion.V2021_05, **kwargs: Any) ServiceBusAdministrationClient[source]

Create a client from connection string.

Parameters:

conn_str (str) – The connection string of the Service Bus Namespace.

Returns:

A ServiceBusAdministrationClient.

Return type:

ServiceBusAdministrationClient

Keyword Arguments:

api_version (str or ApiVersion) – The Service Bus API version to use for requests. Default value is the most recent service version that is compatible with the current SDK. Setting to an older version may result in reduced feature compatibility.

async get_namespace_properties(**kwargs: Any) NamespaceProperties[source]

Get the namespace properties

Returns:

The namespace properties.

Return type:

NamespaceProperties

async get_queue(queue_name: str, **kwargs: Any) QueueProperties[source]

Get the properties of a queue.

Parameters:

queue_name (str) – The name of the queue.

Returns:

The properties of the Queue.

Return type:

QueueProperties

async get_queue_runtime_properties(queue_name: str, **kwargs: Any) QueueRuntimeProperties[source]

Get the runtime information of a queue.

Parameters:

queue_name (str) – The name of the queue.

Returns:

The runtime information of the Queue.

Return type:

QueueRuntimeProperties

async get_rule(topic_name: str, subscription_name: str, rule_name: str, **kwargs: Any) RuleProperties[source]

Get the properties of a topic subscription rule.

Parameters:
  • topic_name (str) – The topic that owns the subscription.

  • subscription_name (str) – The subscription that owns the rule.

  • rule_name (str) – Name of the rule.

Returns:

The properties of the topic subscription rule.

Return type:

RuleProperties

async get_subscription(topic_name: str, subscription_name: str, **kwargs: Any) SubscriptionProperties[source]

Get the properties of a topic subscription.

Parameters:
  • topic_name (str) – The topic that owns the subscription.

  • subscription_name (str) – name of the subscription.

Returns:

An instance of SubscriptionProperties.

Return type:

SubscriptionProperties

async get_subscription_runtime_properties(topic_name: str, subscription_name: str, **kwargs: Any) SubscriptionRuntimeProperties[source]

Get a topic subscription runtime info.

Parameters:
  • topic_name (str) – The topic that owns the subscription.

  • subscription_name (str) – name of the subscription.

Returns:

An instance of SubscriptionRuntimeProperties.

Return type:

SubscriptionRuntimeProperties

async get_topic(topic_name: str, **kwargs: Any) TopicProperties[source]

Get the properties of a topic.

Parameters:

topic_name (str) – The name of the topic.

Returns:

The properties of the topic.

Return type:

TopicDescription

async get_topic_runtime_properties(topic_name: str, **kwargs: Any) TopicRuntimeProperties[source]

Get the runtime information of a topic.

Parameters:

topic_name (str) – The name of the topic.

Returns:

The runtime info of the topic.

Return type:

TopicRuntimeProperties

list_queues(**kwargs: Any) AsyncItemPaged[QueueProperties][source]

List the queues of a ServiceBus namespace.

Returns:

An iterable (auto-paging) response of QueueProperties.

Return type:

AsyncItemPaged[QueueProperties]

list_queues_runtime_properties(**kwargs: Any) AsyncItemPaged[QueueRuntimeProperties][source]

List the runtime information of the queues in a ServiceBus namespace.

Returns:

An iterable (auto-paging) response of QueueRuntimeProperties.

Return type:

AsyncItemPaged[QueueRuntimeProperties]

list_rules(topic_name: str, subscription_name: str, **kwargs: Any) AsyncItemPaged[RuleProperties][source]

List the rules of a topic subscription.

Parameters:
  • topic_name (str) – The topic that owns the subscription.

  • subscription_name (str) – The subscription that owns the rules.

Returns:

An iterable (auto-paging) response of RuleProperties.

Return type:

AsyncItemPaged[RuleProperties]

list_subscriptions(topic_name: str, **kwargs: Any) AsyncItemPaged[SubscriptionProperties][source]

List the subscriptions of a ServiceBus Topic.

Parameters:

topic_name (str) – The topic that owns the subscription.

Returns:

An iterable (auto-paging) response of SubscriptionProperties.

Return type:

AsyncItemPaged[SubscriptionProperties]

list_subscriptions_runtime_properties(topic_name: str, **kwargs: Any) AsyncItemPaged[SubscriptionRuntimeProperties][source]

List the subscriptions runtime information of a ServiceBus.

Parameters:

topic_name (str) – The topic that owns the subscription.

Returns:

An iterable (auto-paging) response of SubscriptionRuntimeProperties.

Return type:

AsyncItemPaged[SubscriptionRuntimeProperties]

list_topics(**kwargs: Any) AsyncItemPaged[TopicProperties][source]

List the topics of a ServiceBus namespace.

Returns:

An iterable (auto-paging) response of TopicProperties.

Return type:

AsyncItemPaged[TopicProperties]

list_topics_runtime_properties(**kwargs: Any) AsyncItemPaged[TopicRuntimeProperties][source]

List the topics runtime information of a ServiceBus namespace.

Returns:

An iterable (auto-paging) response of TopicRuntimeProperties.

Return type:

AsyncItemPaged[TopicRuntimeProperties]

async update_queue(queue: QueueProperties | Mapping[str, Any], **kwargs: Any) None[source]

Update a queue.

Before calling this method, you should use get_queue, create_queue or list_queues to get a QueueProperties instance, then update the properties. Only a portion of properties can be updated. Refer to https://docs.microsoft.com/en-us/rest/api/servicebus/update-queue. You could also pass keyword arguments for updating properties in the form of <property_name>=<property_value> which will override whatever was specified in the QueueProperties instance. Refer to ~azure.servicebus.management.QueueProperties for names of properties.

Parameters:

queue (QueueProperties) – The queue that is returned from get_queue, create_queue or list_queues and has the updated properties.

Return type:

None

async update_rule(topic_name: str, subscription_name: str, rule: RuleProperties | Mapping[str, Any], **kwargs: Any) None[source]

Update a rule.

Before calling this method, you should use get_rule, create_rule or list_rules to get a RuleProperties instance, then update the properties. You could also pass keyword arguments for updating properties in the form of <property_name>=<property_value> which will override whatever was specified in the RuleProperties instance. Refer to ~azure.servicebus.management.RuleProperties for names of properties.

Parameters:
  • topic_name (str) – The topic that owns the subscription.

  • subscription_name (str) – The subscription that owns this rule.

  • rule (RuleProperties) – The rule that is returned from get_rule, create_rule, or list_rules and has the updated properties.

Return type:

None

async update_subscription(topic_name: str, subscription: SubscriptionProperties | Mapping[str, Any], **kwargs: Any) None[source]

Update a subscription.

Before calling this method, you should use get_subscription, update_subscription or list_subscription to get a SubscriptionProperties instance, then update the properties. You could also pass keyword arguments for updating properties in the form of <property_name>=<property_value> which will override whatever was specified in the SubscriptionProperties instance. Refer to ~azure.servicebus.management.SubscriptionProperties for names of properties.

Parameters:
  • topic_name (str) – The topic that owns the subscription.

  • subscription (SubscriptionProperties) – The subscription that is returned from get_subscription, update_subscription or list_subscription and has the updated properties.

Return type:

None

async update_topic(topic: TopicProperties | Mapping[str, Any], **kwargs: Any) None[source]

Update a topic.

Before calling this method, you should use get_topic, create_topic or list_topics to get a TopicProperties instance, then update the properties. Only a portion of properties can be updated. Refer to https://docs.microsoft.com/en-us/rest/api/servicebus/update-topic. You could also pass keyword arguments for updating properties in the form of <property_name>=<property_value> which will override whatever was specified in the TopicProperties instance. Refer to ~azure.servicebus.management.TopicProperties for names of properties.

Parameters:

topic (TopicProperties) – The topic that is returned from get_topic, create_topic, or list_topics and has the updated properties.

Return type:

None