Bird
Raised Fist0
Azurecloud~5 mins

Service Bus topics and subscriptions in Azure - Cheat Sheet & Quick Revision

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Recall & Review
beginner
What is a Service Bus topic in Azure?
A Service Bus topic is like a message board where messages are sent. Multiple subscribers can read messages from this board independently.
Click to reveal answer
beginner
What is the role of a subscription in Service Bus topics?
A subscription is like a personal mailbox for a subscriber. It receives copies of messages sent to the topic, allowing independent processing.
Click to reveal answer
intermediate
How do Service Bus topics differ from queues?
Queues deliver messages to one receiver only, while topics allow multiple subscriptions to receive copies of each message.
Click to reveal answer
intermediate
What is a filter in a Service Bus subscription?
A filter lets a subscription receive only messages that match certain criteria, like sorting mail into folders based on sender.
Click to reveal answer
beginner
Why use Service Bus topics and subscriptions in cloud applications?
They help send messages to many receivers independently, supporting scalable and decoupled communication.
Click to reveal answer
What does a Service Bus subscription do?
ACreates new topics
BSends messages to a topic
CDeletes messages from a queue
DReceives copies of messages sent to a topic
How many receivers can get the same message from a Service Bus topic?
AOnly one
BMultiple, via subscriptions
CNone
DOnly the sender
What feature allows a subscription to receive only certain messages?
ANamespace
BQueue
CFilter
DTopic
Which Azure service uses topics and subscriptions?
AAzure Service Bus
BAzure Blob Storage
CAzure Functions
DAzure Cosmos DB
What is the main benefit of using topics over queues?
AMultiple receivers can get the same message
BMessages are deleted faster
CMessages are encrypted automatically
DOnly one receiver can get messages
Explain how Service Bus topics and subscriptions work together to deliver messages.
Think of a topic as a message board and subscriptions as mailboxes.
You got /4 concepts.
    Describe the purpose and use of filters in Service Bus subscriptions.
    Filters are like sorting mail into folders.
    You got /4 concepts.

      Practice

      (1/5)
      1. What is the main purpose of an Azure Service Bus topic?
      easy
      A. To send messages to multiple receivers using subscriptions
      B. To store data permanently like a database
      C. To host web applications
      D. To manage virtual machines

      Solution

      1. Step 1: Understand the role of a Service Bus topic

        A Service Bus topic acts as a message distributor that sends messages to multiple receivers.
      2. Step 2: Compare other options

        Options B, C, and D describe unrelated Azure services or functions.
      3. Final Answer:

        To send messages to multiple receivers using subscriptions -> Option A
      4. Quick Check:

        Service Bus topic = message distribution [OK]
      Hint: Topics distribute messages to many receivers via subscriptions [OK]
      Common Mistakes:
      • Confusing topics with queues
      • Thinking topics store data permanently
      • Mixing topics with compute services
      2. Which of the following is the correct way to create a subscription under a topic using Azure CLI?
      easy
      A. az servicebus topic create --resource-group MyGroup --namespace-name MyNamespace --subscription-name MySubscription --name MyTopic
      B. az servicebus subscription create --resource-group MyGroup --namespace-name MyNamespace --topic-name MyTopic --name MySubscription
      C. az servicebus topic subscription create --resource-group MyGroup --namespace-name MyNamespace --topic-name MyTopic --name MySubscription
      D. az servicebus create subscription --resource-group MyGroup --namespace-name MyNamespace --topic MyTopic --subscription MySubscription

      Solution

      1. Step 1: Identify the correct Azure CLI command structure

        The correct command to create a subscription under a topic is 'az servicebus subscription create' with required parameters.
      2. Step 2: Check parameters and order

        az servicebus subscription create --resource-group MyGroup --namespace-name MyNamespace --topic-name MyTopic --name MySubscription uses the correct command and parameters: resource group, namespace, topic name, and subscription name.
      3. Final Answer:

        az servicebus subscription create --resource-group MyGroup --namespace-name MyNamespace --topic-name MyTopic --name MySubscription -> Option B
      4. Quick Check:

        Correct CLI syntax = az servicebus subscription create --resource-group MyGroup --namespace-name MyNamespace --topic-name MyTopic --name MySubscription [OK]
      Hint: Use 'az servicebus subscription create' to add subscriptions [OK]
      Common Mistakes:
      • Using 'az servicebus topic create' for subscriptions
      • Using invalid 'az servicebus topic subscription create'
      • Incorrect command verbs or missing flags
      3. Given the following code snippet, what will be the output?
      from azure.servicebus import ServiceBusClient
      connection_str = "Endpoint=sb://example.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=key"
      topic_name = "mytopic"
      subscription_name = "mysubscription"
      
      with ServiceBusClient.from_connection_string(connection_str) as client:
          receiver = client.get_subscription_receiver(topic_name, subscription_name)
          with receiver:
              messages = receiver.receive_messages(max_message_count=2, max_wait_time=5)
              print(len(list(messages)))
      medium
      A. 2
      B. The code will not compile
      C. An exception is raised due to missing message processing
      D. 0

      Solution

      1. Step 1: Understand message receiving behavior

        The code tries to receive up to 2 messages with a 5-second wait. If no messages are available, it returns an empty list.
      2. Step 2: Analyze message processing

        Since no messages are explicitly sent before receiving, the list will be empty, so len(messages) is 0.
      3. Final Answer:

        0 -> Option D
      4. Quick Check:

        Receive without sent messages = 0 [OK]
      Hint: Receiving messages without sending returns empty list [OK]
      Common Mistakes:
      • Assuming messages exist without sending
      • Expecting exceptions for no messages
      • Confusing receive_messages with peek_messages
      4. You have created a subscription but messages are not being received. Which of the following is the most likely cause?
      medium
      A. The subscription filter is set to exclude all messages
      B. The topic does not exist
      C. The subscription name is too long
      D. The Service Bus namespace is in a different region

      Solution

      1. Step 1: Check subscription filters

        If a subscription filter excludes all messages, no messages will be received even if the topic and subscription exist.
      2. Step 2: Evaluate other options

        The topic does not exist would prevent subscription creation; The subscription name is too long would cause an error; The Service Bus namespace is in a different region does not block message reception.
      3. Final Answer:

        The subscription filter is set to exclude all messages -> Option A
      4. Quick Check:

        Filter excluding messages = no messages received [OK]
      Hint: Check subscription filters if no messages arrive [OK]
      Common Mistakes:
      • Ignoring filters when troubleshooting
      • Assuming region mismatch blocks messages
      • Overlooking subscription existence
      5. You want to ensure high availability and ordered message processing in your Service Bus topic subscriptions. Which configuration should you apply?
      hard
      A. Use multiple topics instead of subscriptions
      B. Disable partitioning and use duplicate detection only
      C. Enable partitioning on the topic and use sessions on subscriptions
      D. Enable auto-delete on subscriptions after 1 hour

      Solution

      1. Step 1: Understand partitioning and sessions

        Partitioning improves availability by spreading messages across nodes. Sessions enable ordered processing by grouping related messages.
      2. Step 2: Evaluate other options

        Disabling partitioning reduces availability; multiple topics don't guarantee order; auto-delete removes subscriptions prematurely.
      3. Final Answer:

        Enable partitioning on the topic and use sessions on subscriptions -> Option C
      4. Quick Check:

        Partitioning + sessions = high availability + order [OK]
      Hint: Use partitioning for availability and sessions for order [OK]
      Common Mistakes:
      • Confusing duplicate detection with ordering
      • Thinking multiple topics replace subscriptions
      • Setting auto-delete too aggressively