你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

ConnectionStringBuilder 类

  • java.lang.Object
    • com.microsoft.azure.servicebus.primitives.ConnectionStringBuilder

public class ConnectionStringBuilder

此类可用于构造可以与 ServiceBus 实体建立通信的连接字符串。 它还可用于对现有连接字符串执行基本验证。

示例代码:

ConnectionStringBuilder connectionStringBuilder = new ConnectionStringBuilder(
                                          "ServiceBusNamespaceName", 
                                          "ServiceBusEntityName", // QueueName or TopicName or SubscriptionPath
                                          "SharedAccessSignatureKeyName", 
                                          "SharedAccessSignatureKey");
  
 String connectionString = connectionStringBuilder.toString();

连接字符串基本上是由由“;”分隔的键值对组成的字符串。 基本格式为 {=[;=]},其中支持的密钥名称如下所示:

  • 终结点 - 指向 servicebus 命名空间的 URL
  • EntityPath - 服务总线实体的路径 (queue/topic/subscription/) 。 对于队列和主题,它只是实体名称。 对于订阅,路径为 /subscriptions/
  • SharedAccessKeyName - 命名空间或实体的相应共享访问策略规则的密钥名称。
  • SharedAccessKey - 命名空间或实体的相应共享访问策略规则的键值。
  • SharedAccessSignatureToken - 客户端可以提供已生成的 SAS 令牌,而不是密钥名称和密钥值。
  • OperationTimeout - 用于通过此连接字符串创建的所有发送方、接收方和客户端的默认超时。
  • RetryPolicy - 重试策略的名称。

字段摘要

修饰符和类型 字段和描述
static final Duration DefaultOperationTimeout

如果未在连接字符串中指定超时,则默认操作超时。

static final String MANAGED_IDENTITY_AUTHENTICATION_WITHOUT_SPACE

用于“身份验证”字段的连接字符串值,该值指示托管标识令牌提供程序将用于身份验证目的。

static final String MANAGED_IDENTITY_AUTHENTICATION_WITH_SPACE

构造函数摘要

构造函数 说明
ConnectionStringBuilder(String connectionString)

根据给定的连接字符串创建新实例。

ConnectionStringBuilder(String namespaceConnectionString, String entityPath)

根据给定的连接字符串和实体路径创建新实例。

ConnectionStringBuilder(String namespaceName, String entityPath, String sharedAccessSingature)

从命名空间、实体路径和已生成的 SAS 令牌创建新实例。

ConnectionStringBuilder(String namespaceName, String entityPath, String sharedAccessKeyName, String sharedAccessKey)

从命名空间、实体路径和 SAS 密钥名称和值创建新实例。

ConnectionStringBuilder(URI endpointAddress, String entityPath, String sharedAccessSingature)

从名称地址、实体路径和已生成的 SAS 令牌的终结点地址创建新实例。

ConnectionStringBuilder(URI endpointAddress, String entityPath, String sharedAccessKeyName, String sharedAccessKey)

从名称apce、实体路径和 SAS 密钥名称和值的终结点地址创建新实例

方法摘要

修饰符和类型 方法和描述
String getAuthentication()
URI getEndpoint()

获取可用于连接到服务总线命名空间的终结点

String getEntityPath()

从连接字符串获取实体路径值

Duration getOperationTimeout()

获取挂起的操作(如 Send 或 RECEIVE)将超时的持续时间。

RetryPolicy getRetryPolicy()

获取在创建此生成器时创建的重试策略实例。

String getSasKey()

从连接字符串获取共享访问策略密钥值或 null。

String getSasKeyName()

从连接字符串获取共享访问策略所有者名称或 null。

String getSharedAccessSignatureToken()

从连接字符串返回共享访问签名令牌或 null。

TransportType getTransportType()

使用此连接字符串为服务总线创建的所有通信的传输类型。

void setOperationTimeout(Duration operationTimeout)

在连接字符串中设置操作超时值。

void setRetryPolicy(RetryPolicy retryPolicy)

设置重试策略。

ConnectionStringBuilder setTransportType(TransportType transportType)

在连接字符串中设置传输类型值。

String toLoggableString()
String toString()

返回可用于连接到服务总线命名空间的可操作连接字符串

方法继承自 java.lang.Object

字段详细信息

DefaultOperationTimeout

public static final Duration DefaultOperationTimeout

如果未在连接字符串中指定超时,则默认操作超时。 30 秒。

MANAGED_IDENTITY_AUTHENTICATION_WITHOUT_SPACE

public static final String MANAGED_IDENTITY_AUTHENTICATION_WITHOUT_SPACE

用于“身份验证”字段的连接字符串值,该值指示托管标识 TokenProvider 将用于身份验证目的。

MANAGED_IDENTITY_AUTHENTICATION_WITH_SPACE

public static final String MANAGED_IDENTITY_AUTHENTICATION_WITH_SPACE

构造函数详细信息

ConnectionStringBuilder

public ConnectionStringBuilder(String connectionString)

根据给定的连接字符串创建新实例。 ConnectionString 格式:Endpoint=sb://namespace_DNS_Name;EntityPath=EVENT_HUB_NAME;SharedAccessKeyName=SHARED_ACCESS_KEY_NAME;SharedAccessKey=SHARED_ACCESS_KEY 或 Endpoint=sb://namespace_DNS_Name;EntityPath=EVENT_HUB_NAME;SharedAccessSignatureToken=SHARED_ACCESS_SIGNATURE_TOKEN

参数:

connectionString - ServiceBus ConnectionString

ConnectionStringBuilder

public ConnectionStringBuilder(String namespaceConnectionString, String entityPath)

根据给定的连接字符串和实体路径创建新实例。 连接字符串可以包含实体路径,也可能不包含实体路径。 ConnectionString 格式:Endpoint=sb://namespace_DNS_Name;EntityPath=EVENT_HUB_NAME;SharedAccessKeyName=SHARED_ACCESS_KEY_NAME;SharedAccessKey=SHARED_ACCESS_KEY 或 Endpoint=sb://namespace_DNS_Name;EntityPath=EVENT_HUB_NAME;SharedAccessSignatureToken=SHARED_ACCESS_SIGNATURE_TOKEN

参数:

namespaceConnectionString - ServiceBus 命名空间的连接字符串。 这不包括实体路径。
entityPath - 命名空间中实体的路径

ConnectionStringBuilder

public ConnectionStringBuilder(String namespaceName, String entityPath, String sharedAccessSingature)

从命名空间、实体路径和已生成的 SAS 令牌创建新实例。

参数:

namespaceName - 命名空间名称 (dns 后缀 - 例如:不需要 .servicebus.windows.net)
entityPath - 实体路径。 对于队列或主题,请使用 name。 对于订阅,请使用 <topicName>/subscriptions/<subscriptionName>
sharedAccessSingature - 已生成共享访问签名

ConnectionStringBuilder

public ConnectionStringBuilder(String namespaceName, String entityPath, String sharedAccessKeyName, String sharedAccessKey)

从命名空间、实体路径和 SAS 密钥名称和值创建新实例。

参数:

namespaceName - 命名空间名称 (dns 后缀 - 例如:不需要 .servicebus.windows.net)
entityPath - 实体路径。 对于队列或主题,请使用 name。 对于订阅,请使用 <topicName>/subscriptions/<subscriptionName>
sharedAccessKeyName - 共享访问密钥名称
sharedAccessKey - 共享访问密钥

ConnectionStringBuilder

public ConnectionStringBuilder(URI endpointAddress, String entityPath, String sharedAccessSingature)

从名称地址、实体路径和已生成的 SAS 令牌的终结点地址创建新实例。

参数:

endpointAddress - 命名空间级别终结点。 这需要采用 scheme://fullyQualifiedServiceBusNamespaceEndpointName
entityPath - 实体路径。 对于队列或主题,请使用 name。 对于订阅,请使用 <topicName>/subscriptions/<subscriptionName>
sharedAccessSingature - 已生成共享访问签名

ConnectionStringBuilder

public ConnectionStringBuilder(URI endpointAddress, String entityPath, String sharedAccessKeyName, String sharedAccessKey)

从名称apce、实体路径和 SAS 密钥名称和值的终结点地址创建新实例

参数:

endpointAddress - 命名空间级别终结点。 这需要采用 scheme://fullyQualifiedServiceBusNamespaceEndpointName
entityPath - 实体路径。 对于队列或主题,请使用 name。 对于订阅,请使用 <topicName>/subscriptions/<subscriptionName>
sharedAccessKeyName - 共享访问密钥名称
sharedAccessKey - 共享访问密钥

方法详细信息

getAuthentication

public String getAuthentication()

返回:

返回身份验证方法。

getEndpoint

public URI getEndpoint()

获取可用于连接到 ServiceBus 命名空间的终结点

返回:

表示服务总线命名空间的终结点

getEntityPath

public String getEntityPath()

从连接字符串获取实体路径值

返回:

实体路径

getOperationTimeout

public Duration getOperationTimeout()

获取挂起的操作(如 Send 或 RECEIVE)将超时的持续时间。如果未指定超时,则默认为 DefaultOperationTimeout 此值将由使用此 ConnectionStringBuilder的所有操作使用,除非显式过度。

返回:

operationTimeout

getRetryPolicy

public RetryPolicy getRetryPolicy()

获取在创建此生成器时创建的重试策略实例。

返回:

RetryPolicy 应用于使用此 ConnectionString 执行的任何操作

getSasKey

public String getSasKey()

从连接字符串获取共享访问策略密钥值或 null。

返回:

共享访问签名密钥值

getSasKeyName

public String getSasKeyName()

从连接字符串获取共享访问策略所有者名称或 null。

返回:

共享访问签名密钥名称

getSharedAccessSignatureToken

public String getSharedAccessSignatureToken()

从连接字符串返回共享访问签名令牌或 null。

返回:

共享访问签名令牌

getTransportType

public TransportType getTransportType()

使用此 ConnectionString 创建服务总线的所有通信的 TransportType。 默认值为 AMQP

返回:

transportType

setOperationTimeout

public void setOperationTimeout(Duration operationTimeout)

在连接字符串中设置 OperationTimeout 值。 此值将由使用此 ConnectionStringBuilder的所有操作使用,除非显式过度。

带有 operationTimeout 的 ConnectionString 不能在其他平台中的 java 和客户端之间相互操作。

参数:

operationTimeout - 操作超时

setRetryPolicy

public void setRetryPolicy(RetryPolicy retryPolicy)

设置重试策略。

RetryPolicy 不会作为 的一部分 toString() 进行序列化,并且不能与其他平台中的 ServiceBus 客户端互操作。

参数:

retryPolicy - RetryPolicy 应用于使用此 ConnectionString 执行的任何操作

setTransportType

public ConnectionStringBuilder setTransportType(TransportType transportType)

设置连接字符串中的 TransportType 值。 如果未设置 TransportType,则默认为 AMQP

参数:

transportType - 传输类型

返回:

正在设置的 ConnectionStringBuilder 实例。

toLoggableString

public String toLoggableString()

toString

public String toString()

返回可用于连接到 ServiceBus 命名空间的可操作连接字符串

替代:

ConnectionStringBuilder.toString()

返回:

连接字符串 (connection string)

适用于