Skip to main content

Microsoft Azure Service Bus Client Library for Python

Project description

Microsoft Azure Service Bus SDK for Python

NOTE: Starting with the GA release of version 7.0.0 (currently in preview), this package will be deprecated. Users can get a head-start on transitioning by installing or upgrading via pip install azure-servicebus --pre and reviewing our migration guide

This is the Microsoft Azure Service Bus Client Library. This package has been tested with Python 2.7, 3.4, 3.5, 3.6 and 3.7.

Microsoft Azure Service Bus supports a set of cloud-based, message-oriented middleware technologies including reliable message queuing and durable publish/subscribe messaging.

What's new in v0.50.2?

As of version 0.50.2 a new AMQP-based API is available for sending and receiving messages. This update involves breaking changes. Please read Migration from 0.21.1 to 0.50.2 to determine if upgrading is right for you at this time.

The new AMQP-based API offers improved message passing reliability, performance and expanded feature support going forward. The new API also offers support for asynchronous operations (based on asyncio) for sending, receiving and handling messages.

For documentation on the legacy HTTP-based operations please see Using HTTP-based operations of the legacy API.

Prerequisites

Installation

pip install azure-servicebus

Migration from 0.21.1 to 0.50.2

Major breaking changes were introduced in version 0.50.2. The original HTTP-based API is still available in v0.50.2 - however it now exists under a new namesapce: azure.servicebus.control_client.

Should I upgrade?

The new package (v0.50.2) offers no improvements in HTTP-based operations over v0.21.1. The HTTP-based API is identical except that it now exists under a new namespace. For this reason if you only wish to use HTTP-based operations (create_queue, delete_queue etc) - there will be no additional benefit in upgrading at this time.

How do I migrate my code to the new version?

Code written against v0.21.0 can be ported to version 0.50.2 by simply changing the import namespace:

# from azure.servicebus import ServiceBusService  <- This will now raise an ImportError
from azure.servicebus.control_client import ServiceBusService

key_name = 'RootManageSharedAccessKey' # SharedAccessKeyName from Azure portal
key_value = ''  # SharedAccessKey from Azure portal
sbs = ServiceBusService(service_namespace,
                        shared_access_key_name=key_name,
                        shared_access_key_value=key_value)

Usage

For reference documentation and code snippets see Service Bus on docs.microsoft.com.

Provide Feedback

If you encounter any bugs or have suggestions, please file an issue in the Issues section of the project.

Impressions

Release History

0.50.3 (2020-05-20)

NOTE: Starting with the GA release of version 7.0.0 (currently in preview), this package will be deprecated. Users can get a head-start on transitioning by installing or upgrading via pip install azure-servicebus --pre and reviewing our migration guide

Features

  • Added support for retry sending if connection gets closed due to long time inactivity.
  • Added support for message.dead_letter accepting reason.

BugFixes

  • Added associated-link-keepalive functionality to management operations such as renewing a message lock, to ensure service-side link termination does not interfere with long-duration processing.
  • Fixed bug in setting description when dead lettering messages (issue #9242).
  • Increments UAMQP dependency min version to 1.2.8, as a component of fixing the aformentioned dead letter issue.

0.50.2 (2019-12-9)

Features

  • Added support for delivery tag lock tokens

BugFixes

  • Fixed bug where Message would pass through invalid kwargs on init when attempting to thread through subject.
  • Increments UAMQP dependency min version to 1.2.5, to include a set of fixes, including handling of large messages and mitigation of segfaults.

0.50.1 (2019-06-24)

BugFixes

  • Fixed bug where enqueued_time and scheduled_enqueue_time of message being parsed as local timestamp rather than UTC.

0.50.0 (2019-01-17)

Breaking changes

  • Introduces new AMQP-based API.
  • Original HTTP-based API still available under new namespace: azure.servicebus.control_client
  • For full API changes, please see updated reference documentation.

Within the new namespace, the original HTTP-based API from version 0.21.1 remains unchanged (i.e. no additional features or bugfixes) so for those intending to only use HTTP operations - there is no additional benefit in updating at this time.

Features

  • New API supports message send and receive via AMQP with improved performance and stability.
  • New asynchronous APIs (using asyncio) for send, receive and message handling.
  • Support for message and session auto lock renewal via background thread or async operation.
  • Now supports scheduled message cancellation.

0.21.1 (2017-04-27)

This wheel package is now built with the azure wheel extension

0.21.0 (2017-01-13)

Features

  • str messages are now accepted in Python 3 and will be encoded in 'utf-8' (will not raise TypeError anymore)
  • broker_properties can now be defined as a dict, and not only a JSON str. datetime, int, float and boolean are converted.
  • #902 add send_topic_message_batch operation (takes an iterable of messages)
  • #902 add send_queue_message_batch operation (takes an iterable of messages)

Bugfixes

  • #820 the code is now more robust to unexpected changes on the SB RestAPI

0.20.3 (2016-08-11)

News

  • #547 Add get dead letter path static methods to Python
  • #513 Add renew lock

Bugfixes

  • #628 Fix custom properties with double quotes

0.20.2 (2016-06-28)

Bugfixes

  • New header in Rest API which breaks the SDK #658 #657

0.20.1 (2015-09-14)

News

  • Create a requests.Session() if the user doesn't pass one in.

0.20.0 (2015-08-31)

Initial release of this package, from the split of the azure package. See the azure package release note for 1.0.0 for details and previous history on Service Bus.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

azure-servicebus-0.50.3.zip (175.4 kB view details)

Uploaded Source

Built Distribution

azure_servicebus-0.50.3-py2.py3-none-any.whl (91.0 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file azure-servicebus-0.50.3.zip.

File metadata

  • Download URL: azure-servicebus-0.50.3.zip
  • Upload date:
  • Size: 175.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.8.2

File hashes

Hashes for azure-servicebus-0.50.3.zip
Algorithm Hash digest
SHA256 2b1e60c81fcf5b6a5bb3ceddb27f24543f479912e39a4706a390a16d8c0a71f4
MD5 2a9572a9741dfd6d9f0148bc2654ea60
BLAKE2b-256 fc55a365b0e10809f7ce96a59c54cc16a07cfa947cf95e1a6fb7ceb084be5cc7

See more details on using hashes here.

File details

Details for the file azure_servicebus-0.50.3-py2.py3-none-any.whl.

File metadata

  • Download URL: azure_servicebus-0.50.3-py2.py3-none-any.whl
  • Upload date:
  • Size: 91.0 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.8.2

File hashes

Hashes for azure_servicebus-0.50.3-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 e47af28d0eb1fb278bfb94fbf1ffa4f88e8d64f4101400bf1fd053a86e4ba6b4
MD5 ec1c4ef2696cd9e597c3738362e0296a
BLAKE2b-256 8d8d9871094ac398d370032e562667cef545206777df86061c6f2f26e68fa95b

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page