Skip to content

Commit 6f32a1b

Browse files
authored
[ServiceBus] update migration guide with message count info (Azure#20360)
Azure#20245
1 parent abfb14b commit 6f32a1b

File tree

3 files changed

+25
-8
lines changed

3 files changed

+25
-8
lines changed

sdk/servicebus/azure-servicebus/migration_guide.md

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -362,9 +362,8 @@ In V7 of this library, we simplified this as below:
362362

363363
### Working with Administration Client
364364

365-
In v0.50, you could create/get/update/delete/list Service Bus queues/topics/subscriptions/rules using the `control_client`.
366-
In v7, this is replaced by the `ServiceBusAdministrationClient`.
367-
The following code snippets show how to manage queues, similar methods are provided on the `ServiceBusAdministrationClient` to manage topics, subscriptions and rules.
365+
In v0.50, you could create/get/update/delete/list Service Bus queues/topics/subscriptions/rules using the `control_client`. You were also able to retrieve associated metadata, like `message_count`.
366+
In v7, this is replaced by the `ServiceBusAdministrationClient`. The property `total_message_count` on `QueueRuntimeProperties` has now replaced `message_count` on `Queue`. More specific properties about message counts - `active_message_count`, `scheduled_message_count` and `dead_letter_message_count` - are also available. Similar methods are provided on the `ServiceBusAdministrationClient` to manage topics, subscriptions and rules. The following code snippets show how to manage queues and retrieve associated metadata.
368367

369368
In V0.50:
370369
```python
@@ -374,6 +373,10 @@ queue = service_bus_service.get_queue(queue_name)
374373
service_bus_service.create_queue(queue_name)
375374
service_bus_service.delete_queue(queue_name)
376375
queues = service_bus_service.list_queues()
376+
377+
# get message count info
378+
for queue in queues:
379+
print(queue.message_count)
377380
```
378381

379382
In V7:
@@ -384,6 +387,14 @@ queue = service_bus_administration_client.get_queue(queue_name)
384387
service_bus_administration_client.create_queue(queue_name)
385388
service_bus_administration_client.delete_queue(queue_name)
386389
queues = service_bus_administration_client.list_queues()
390+
391+
# get total, active, scheduled, dead-letter message count info
392+
for queue in queues:
393+
queue_runtime_properties = service_bus_administration_client.get_queue_runtime_properties(queue.name)
394+
print(queue_runtime_properties.total_message_count)
395+
print(queue_runtime_properties.active_message_count)
396+
print(queue_runtime_properties.scheduled_message_count)
397+
print(queue_runtime_properties.dead_letter_message_count)
387398
```
388399

389400
### Migration samples

sdk/servicebus/azure-servicebus/samples/async_samples/mgmt_queue_async.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,9 @@ async def get_queue_runtime_properties(servicebus_mgmt_client):
7373
print("Updated at:", queue_runtime_properties.updated_at_utc)
7474
print("Size in Bytes:", queue_runtime_properties.size_in_bytes)
7575
print("Message Count:", queue_runtime_properties.total_message_count)
76+
print("Active Message Count:", queue_runtime_properties.active_message_count)
77+
print("Scheduled Message Count:", queue_runtime_properties.scheduled_message_count)
78+
print("Dead-letter Message Count:", queue_runtime_properties.dead_letter_message_count)
7679
print("Please refer to QueueRuntimeProperties from complete available runtime properties.")
7780
print("")
7881

sdk/servicebus/azure-servicebus/samples/sync_samples/mgmt_queue.py

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -66,12 +66,15 @@ def get_and_update_queue(servicebus_mgmt_client):
6666

6767
def get_queue_runtime_properties(servicebus_mgmt_client):
6868
print("-- Get Queue Runtime Properties")
69-
get_queue_runtime_properties = servicebus_mgmt_client.get_queue_runtime_properties(QUEUE_NAME)
70-
print("Queue Name:", get_queue_runtime_properties.name)
69+
queue_runtime_properties = servicebus_mgmt_client.get_queue_runtime_properties(QUEUE_NAME)
70+
print("Queue Name:", queue_runtime_properties.name)
7171
print("Queue Runtime Properties:")
72-
print("Updated at:", get_queue_runtime_properties.updated_at_utc)
73-
print("Size in Bytes:", get_queue_runtime_properties.size_in_bytes)
74-
print("Message Count:", get_queue_runtime_properties.total_message_count)
72+
print("Updated at:", queue_runtime_properties.updated_at_utc)
73+
print("Size in Bytes:", queue_runtime_properties.size_in_bytes)
74+
print("Message Count:", queue_runtime_properties.total_message_count)
75+
print("Active Message Count:", queue_runtime_properties.active_message_count)
76+
print("Scheduled Message Count:", queue_runtime_properties.scheduled_message_count)
77+
print("Dead-letter Message Count:", queue_runtime_properties.dead_letter_message_count)
7578
print("Please refer to QueueRuntimeProperties from complete available runtime properties.")
7679
print("")
7780

0 commit comments

Comments
 (0)