你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
ServiceBusAdministrationClient 类
- java.
lang. Object - com.
azure. messaging. servicebus. administration. ServiceBusAdministrationClient
- com.
public final class ServiceBusAdministrationClient
用于管理服务总线命名空间的 同步 客户端。 通过 ServiceBusAdministrationClientBuilder实例化。
示例:创建异步客户端
下面的代码示例演示如何创建异步管理客户端。 以下示例 DefaultAzureCredential
中使用的凭据用于身份验证。 它适用于大多数方案,包括本地开发和生产环境。 此外,建议在生产环境中使用 托管标识 进行身份验证。 可以在 Azure 标识文档中找到有关不同身份验证方式及其相应凭据类型的详细信息。
HttpLogOptions logOptions = new HttpLogOptions()
.setLogLevel(HttpLogDetailLevel.HEADERS);
// DefaultAzureCredential creates a credential based on the environment it is executed in.
TokenCredential tokenCredential = new DefaultAzureCredentialBuilder().build();
// 'fullyQualifiedNamespace' will look similar to "{your-namespace}.servicebus.windows.net"
ServiceBusAdministrationClient client = new ServiceBusAdministrationClientBuilder()
.credential(fullyQualifiedNamespace, tokenCredential)
.httpLogOptions(logOptions)
.buildClient();
示例:创建队列
以下示例创建具有默认值的队列。 默认值在 中 CreateQueueOptions()列出。
QueueProperties queue = client.createQueue("my-new-queue");
System.out.printf("Queue created. Name: %s. Lock Duration: %s.%n",
queue.getName(), queue.getLockDuration());
示例:编辑现有订阅
以下代码示例演示如何更新现有订阅。 用户应提取订阅的属性、修改属性,然后将 对象传递给更新方法。
// To update the subscription we have to:
// 1. Get the subscription info from the service.
// 2. Update the SubscriptionProperties we want to change.
// 3. Call the updateSubscription() with the updated object.
SubscriptionProperties subscription = client.getSubscription("my-topic", "my-subscription");
System.out.println("Original delivery count: " + subscription.getMaxDeliveryCount());
// Updating it to a new value.
subscription.setMaxDeliveryCount(5);
// Persisting the updates to the subscription object.
SubscriptionProperties updated = client.updateSubscription(subscription);
System.out.printf("Subscription updated. Name: %s. Delivery count: %s.%n",
updated.getSubscriptionName(), updated.getMaxDeliveryCount());
示例:列出所有队列
以下代码示例列出了服务总线命名空间中的所有队列。
client.listQueues().forEach(queue -> {
System.out.printf("Queue [%s]. Lock Duration: %s.%n",
queue.getName(), queue.getLockDuration());
});
示例:删除队列
下面的代码示例演示如何删除现有队列。
try {
client.deleteQueue("my-existing-queue");
} catch (AzureException exception) {
System.err.println("Exception occurred deleting queue: " + exception);
}
方法摘要
方法继承自 java.lang.Object
方法详细信息
createQueue
public QueueProperties createQueue(String queueName)
创建具有给定名称的队列。
Parameters:
Returns:
createQueue
public QueueProperties createQueue(String queueName, CreateQueueOptions queueOptions)
使用 CreateQueueOptions创建队列。
Parameters:
Returns:
createQueueWithResponse
public Response
创建队列并返回创建的队列以及 HTTP 响应。
Parameters:
Returns:
createRule
public RuleProperties createRule(String topicName, String subscriptionName, String ruleName)
在给定主题和订阅下创建规则
Parameters:
Returns:
createRule
public RuleProperties createRule(String topicName, String ruleName, String subscriptionName, CreateRuleOptions ruleOptions)
使用 CreateRuleOptions创建规则。
Parameters:
Returns:
createRuleWithResponse
public Response
创建一个规则,并返回创建的规则以及 HTTP 响应。
Parameters:
Returns:
createSubscription
public SubscriptionProperties createSubscription(String topicName, String subscriptionName)
创建具有给定主题和订阅名称的订阅。
Parameters:
Returns:
createSubscription
public SubscriptionProperties createSubscription(String topicName, String subscriptionName, CreateSubscriptionOptions subscriptionOptions)
使用 CreateSubscriptionOptions创建订阅。
Parameters:
Returns:
createSubscription
public SubscriptionProperties createSubscription(String topicName, String subscriptionName, String ruleName, CreateSubscriptionOptions subscriptionOptions, CreateRuleOptions ruleOptions)
使用 和 CreateRuleOptions创建具有默认规则的CreateSubscriptionOptions订阅。
Parameters:
Returns:
createSubscriptionWithResponse
public Response
创建订阅并返回创建的订阅以及 HTTP 响应。
Parameters:
Returns:
createSubscriptionWithResponse
public Response
创建配置了默认规则的订阅,并返回除了 HTTP 响应之外创建的订阅。
Parameters:
Returns:
createTopic
public TopicProperties createTopic(String topicName)
创建具有给定名称的主题。
Parameters:
Returns:
createTopic
public TopicProperties createTopic(String topicName, CreateTopicOptions topicOptions)
使用 CreateTopicOptions创建主题。
Parameters:
Returns:
createTopicWithResponse
public Response
创建一个主题,并返回除 HTTP 响应外创建的主题。
Parameters:
Returns:
deleteQueue
public void deleteQueue(String queueName)
删除匹配 queueName
的队列。
Parameters:
deleteQueueWithResponse
public Response
删除匹配 queueName
项的队列并返回 HTTP 响应。
Parameters:
Returns:
deleteRule
public void deleteRule(String topicName, String subscriptionName, String ruleName)
删除匹配 ruleName
的规则。
Parameters:
deleteRuleWithResponse
public Response
删除匹配 ruleName
的规则并返回 HTTP 响应。
Parameters:
Returns:
deleteSubscription
public void deleteSubscription(String topicName, String subscriptionName)
删除与主题 topicName
中的 匹配的subscriptionName
订阅。
Parameters:
deleteSubscriptionWithResponse
public Response
删除匹配 subscriptionName
的订阅并返回 HTTP 响应。
Parameters:
Returns:
deleteTopic
public void deleteTopic(String topicName)
删除匹配 topicName
的主题。
Parameters:
deleteTopicWithResponse
public Response
删除匹配 topicName
的主题并返回 HTTP 响应。
Parameters:
Returns:
getNamespaceProperties
public NamespaceProperties getNamespaceProperties()
获取有关服务总线命名空间的信息。
Returns:
getNamespacePropertiesWithResponse
public Response
获取有关服务总线命名空间及其 HTTP 响应的信息。
Parameters:
Returns:
getQueue
public QueueProperties getQueue(String queueName)
获取有关队列的信息。
Parameters:
Returns:
getQueueExists
public boolean getQueueExists(String queueName)
获取服务总线命名空间中是否存在具有 的 queueName
队列。
Parameters:
Returns:
true
如果队列存在,则为 ;否则为 false
。getQueueExistsWithResponse
public Response
获取服务总线命名空间中是否存在具有 的 queueName
队列。
Parameters:
Returns:
true
;否则为 false
。getQueueRuntimeProperties
public QueueRuntimeProperties getQueueRuntimeProperties(String queueName)
获取有关队列的运行时属性。
Parameters:
Returns:
getQueueRuntimePropertiesWithResponse
public Response
获取有关队列及其 HTTP 响应的运行时属性。
Parameters:
Returns:
getQueueWithResponse
public Response
获取有关队列及其 HTTP 响应的信息。
Parameters:
Returns:
getRule
public RuleProperties getRule(String topicName, String subscriptionName, String ruleName)
从服务命名空间获取规则。 筛选器和操作参数中仅反序列化以下数据类型 - string、int、long、boolean、double 和 OffsetDateTime。 其他数据类型将返回其字符串值。
Parameters:
Returns:
getRuleWithResponse
public Response
从服务命名空间获取规则。 筛选器和操作参数中仅反序列化以下数据类型 - string、int、long、bool、double 和 OffsetDateTime。 其他数据类型将返回其字符串值。
Parameters:
Returns:
getSubscription
public SubscriptionProperties getSubscription(String topicName, String subscriptionName)
获取有关队列的信息。
Parameters:
Returns:
getSubscriptionExists
public boolean getSubscriptionExists(String topicName, String subscriptionName)
获取主题中的订阅是否存在。
Parameters:
Returns:
true
如果订阅存在,则为 。getSubscriptionExistsWithResponse
public Response
获取主题中的订阅是否存在。
Parameters:
Returns:
true
;否则为 false
。getSubscriptionRuntimeProperties
public SubscriptionRuntimeProperties getSubscriptionRuntimeProperties(String topicName, String subscriptionName)
获取有关订阅的运行时属性。
Parameters:
Returns:
getSubscriptionRuntimePropertiesWithResponse
public Response
获取有关订阅的运行时属性。
Parameters:
Returns:
getSubscriptionWithResponse
public Response
获取有关订阅及其 HTTP 响应的信息。
Parameters:
Returns:
getTopic
public TopicProperties getTopic(String topicName)
获取有关主题的信息。
Parameters:
Returns:
getTopicExists
public boolean getTopicExists(String topicName)
获取服务总线命名空间中是否存在具有 的主题 topicName
。
Parameters:
Returns:
true
如果主题存在,则为 。getTopicExistsWithResponse
public Response
获取服务总线命名空间中是否存在具有 的主题 topicName
。
Parameters:
Returns:
true
;否则为 false
。getTopicRuntimeProperties
public TopicRuntimeProperties getTopicRuntimeProperties(String topicName)
获取有关主题的运行时属性。
Parameters:
Returns:
getTopicRuntimePropertiesWithResponse
public Response
获取有关主题及其 HTTP 响应的运行时属性。
Parameters:
Returns:
getTopicWithResponse
public Response
获取有关主题及其 HTTP 响应的信息。
Parameters:
Returns:
listQueues
public PagedIterable
提取服务总线命名空间中的所有队列。
Returns:
listQueues
public PagedIterable
提取服务总线命名空间中的所有队列。
Parameters:
Returns:
listRules
public PagedIterable
提取主题和订阅的所有规则。
Parameters:
Returns:
listRules
public PagedIterable
提取主题和订阅的所有规则。
Parameters:
Returns:
listSubscriptions
public PagedIterable
提取主题的所有订阅。
Parameters:
Returns:
topicName
分页可SubscriptionProperties迭代。listSubscriptions
public PagedIterable
提取主题的所有订阅。
Parameters:
Returns:
topicName
分页迭代。SubscriptionPropertieslistTopics
listTopics
public PagedIterable
提取服务总线命名空间中的所有主题。
Parameters:
Returns:
updateQueue
public QueueProperties updateQueue(QueueProperties queue)
使用给定 QueueProperties的 汇报队列。 QueueProperties在替换所有属性时,必须完全填充 。 如果未设置属性,则使用服务默认值。 建议的流为:
- getQueue(String queueName)
- 更新所需的元素。
- 将更新的说明传递到此方法中。
有一部分属性可以更新。 有关详细信息,请参阅以下链接。 它们分别是:
- setDefaultMessageTimeToLive(Duration defaultMessageTimeToLive)
- setLockDuration(Duration lockDuration)
- setDuplicateDetectionHistoryTimeWindow(Duration duplicateDetectionHistoryTimeWindow)
- setMaxDeliveryCount(Integer maxDeliveryCount)
Parameters:
Returns:
updateQueueWithResponse
public Response
使用给定 QueueProperties的 汇报队列。 QueueProperties在替换所有属性时,必须完全填充 。 如果未设置属性,则使用服务默认值。 建议的流为:
- getQueue(String queueName)
- 更新所需的元素。
- 将更新的说明传递到此方法中。
有一部分属性可以更新。 有关详细信息,请参阅以下链接。 它们分别是:
- setDefaultMessageTimeToLive(Duration defaultMessageTimeToLive)
- setLockDuration(Duration lockDuration)
- setDuplicateDetectionHistoryTimeWindow(Duration duplicateDetectionHistoryTimeWindow)
- setMaxDeliveryCount(Integer maxDeliveryCount)
Parameters:
Returns:
updateRule
public RuleProperties updateRule(String topicName, String subscriptionName, RuleProperties rule)
使用给定 RuleProperties的 汇报规则。 RuleProperties在替换所有属性时,必须完全填充 。 如果未设置属性,则使用服务默认值。 建议的流为:
- getRule(String topicName, String subscriptionName, String ruleName)
- 更新所需的元素。
- 将更新的说明传递到此方法中。
Parameters:
Returns:
updateRuleWithResponse
public Response
使用给定 RuleProperties的 汇报规则。 RuleProperties在替换所有属性时,必须完全填充 。 如果未设置属性,则使用服务默认值。 建议的流为:
- getRule(String topicName, String subscriptionName, String ruleName)
- 更新所需的元素。
- 将更新的说明传递到此方法中。
Parameters:
Returns:
updateSubscription
public SubscriptionProperties updateSubscription(SubscriptionProperties subscription)
使用给定 SubscriptionProperties的 汇报订阅。 SubscriptionProperties在替换所有属性时,必须完全填充 。 如果未设置属性,则使用服务默认值。 建议的流为:
- getSubscription(String topicName, String subscriptionName)
- 更新所需的元素。
- 将更新的说明传递到此方法中。
有一部分属性可以更新。 有关详细信息,请参阅以下链接。 它们分别是:
- setDefaultMessageTimeToLive(Duration defaultMessageTimeToLive)
- setLockDuration(Duration lockDuration)
- setMaxDeliveryCount(int maxDeliveryCount)
Parameters:
Returns:
updateSubscriptionWithResponse
public Response
使用给定 SubscriptionProperties的 汇报订阅。 SubscriptionProperties在替换所有属性时,必须完全填充 。 如果未设置属性,则使用服务默认值。 建议的流为:
- getSubscription(String topicName, String subscriptionName)
- 更新所需的元素。
- 将更新的说明传递到此方法中。
有一部分属性可以更新。 有关详细信息,请参阅以下链接。 它们分别是:
- setDefaultMessageTimeToLive(Duration defaultMessageTimeToLive)
- setLockDuration(Duration lockDuration)
- setMaxDeliveryCount(int maxDeliveryCount)
Parameters:
Returns:
updateTopic
public TopicProperties updateTopic(TopicProperties topic)
使用给定 TopicProperties的 汇报主题。 TopicProperties在替换所有属性时,必须完全填充 。 如果未设置属性,则使用服务默认值。 建议的流为:
- getTopic(String topicName)
- 更新所需的元素。
- 将更新的说明传递到此方法中。
有一部分属性可以更新。 有关详细信息,请参阅以下链接。 它们分别是:
- setDefaultMessageTimeToLive(Duration defaultMessageTimeToLive)
- setDuplicateDetectionHistoryTimeWindow(Duration duplicateDetectionHistoryTimeWindow)
Parameters:
Returns:
updateTopicWithResponse
public Response
使用给定 TopicProperties的 汇报主题。 TopicProperties在替换所有属性时,必须完全填充 。 如果未设置属性,则使用服务默认值。 建议的流为:
- getTopic(String topicName)
- 更新所需的元素。
- 将更新的说明传递到此方法中。
有一部分属性可以更新。 有关详细信息,请参阅以下链接。 它们分别是:
- setDefaultMessageTimeToLive(Duration defaultMessageTimeToLive)
- setDuplicateDetectionHistoryTimeWindow(Duration duplicateDetectionHistoryTimeWindow)
Parameters:
Returns: