Class ServiceBusConnectionStringProperties

java.lang.Object
com.azure.messaging.servicebus.ServiceBusConnectionStringProperties

public final class ServiceBusConnectionStringProperties extends Object
A utility class that parses a connection string into sections. A Service Bus connection string is a set of key value pairs separated by semi-colon. A typical example is "Endpoint=sb://foo.servicebus.windows.net/;SharedAccessKeyName=someKeyName;SharedAccessKey=someKeyValue".

A connection may have the following sections:

  • Endpoint, which is mandatory. The hostname part of it is the "Fully qualified namespace".
  • SharedAccessKeyName and SharedAccessKey, optional, used to authenticate the access to the ServiceBus.
  • SharedAccessSignature, optional, an alternative way to authenticate the access to the ServiceBus.
  • EntityPath, optional, the queue name or the topic name under the service namespace

When you have a ServiceBus connection string, you can use ServiceBusClientBuilder.connectionString(String) to build a client. If you'd like to use a TokenCredential to access a Service Bus, you can use this utility class to take the fully qualified namespace and optionally the entity path (queue/topic name) from the connection string and then use ServiceBusClientBuilder.credential(String, TokenCredential).

See Also:
  • Method Details

    • parse

      public static ServiceBusConnectionStringProperties parse(String connectionString)
      Parse a Service Bus connection string into an instance of this class.
      Parameters:
      connectionString - The connection string to be parsed.
      Returns:
      An instance of this class.
      Throws:
      NullPointerException - if connectionString is null.
      IllegalArgumentException - if the connectionString is empty or malformed.
    • getEntityPath

      public String getEntityPath()
      Gets the "EntityPath" value of the connection string.
      Returns:
      The entity path, or null if the connection string doesn't have an "EntityPath".
    • getEndpoint

      public String getEndpoint()
      Gets the "Endpoint" value of the connection string.
      Returns:
      The endpoint.
    • getFullyQualifiedNamespace

      public String getFullyQualifiedNamespace()
      Gets the fully qualified namespace, or hostname, from the connection string "Endpoint" section.
      Returns:
      The fully qualified namespace.
    • getSharedAccessKeyName

      public String getSharedAccessKeyName()
      Gets the "SharedAccessKeyName" section of the connection string.
      Returns:
      The shared access key name, or null if the connection string doesn't have a "SharedAccessKeyName".
    • getSharedAccessKey

      public String getSharedAccessKey()
      Gets the "SharedAccessSignature" section of the connection string.
      Returns:
      The shared access key value, or null if the connection string doesn't have a "SharedAccessSignature".
    • getSharedAccessSignature

      public String getSharedAccessSignature()
      Gets the "SharedAccessSignature" section of the connection string.
      Returns:
      The shared access signature, or null if the connection string doesn't have a "SharedAccessSignature".