You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Java创建Azure Service Bus队列?相关依赖有哪些?

使用Java创建Azure Service Bus队列的方法及依赖说明

所需依赖

要通过Java创建Azure Service Bus队列,需使用Azure官方的资源管理SDK和身份验证SDK,推荐在Maven项目中添加以下依赖:

<!-- Azure资源管理Service Bus依赖 -->
<dependency>
    <groupId>com.azure.resourcemanager</groupId>
    <artifactId>azure-resourcemanager-servicebus</artifactId>
    <version>2.34.0</version> <!-- 可替换为最新稳定版 -->
</dependency>
<!-- Azure身份验证依赖,用于访问Azure资源 -->
<dependency>
    <groupId>com.azure</groupId>
    <artifactId>azure-identity</artifactId>
    <version>1.12.0</version> <!-- 可替换为最新稳定版 -->
</dependency>

创建队列的步骤及示例代码

创建队列属于Azure资源管理操作,需通过ServiceBusManager完成,以下是完整示例代码:

import com.azure.core.credential.DefaultAzureCredential;
import com.azure.resourcemanager.servicebus.ServiceBusManager;
import com.azure.resourcemanager.servicebus.models.Queue;
import com.azure.resourcemanager.servicebus.models.QueueCreateOrUpdateParameters;

public class CreateServiceBusQueue {
    public static void main(String[] args) {
        // 替换为你的Azure订阅ID、资源组名称、Service Bus命名空间名称、队列名称
        String subscriptionId = "your-subscription-id";
        String resourceGroupName = "your-resource-group-name";
        String namespaceName = "your-servicebus-namespace-name";
        String queueName = "your-queue-name";

        // 初始化身份验证,支持本地az login、托管身份等多种验证方式
        DefaultAzureCredential credential = new DefaultAzureCredential();

        // 初始化ServiceBusManager
        ServiceBusManager serviceBusManager = ServiceBusManager.authenticate(credential, subscriptionId);

        // 配置队列参数,可根据需求调整属性
        QueueCreateOrUpdateParameters queueParams = new QueueCreateOrUpdateParameters()
                .withMaxSizeInMegabytes(1024) // 队列最大容量,单位MB
                .withDefaultMessageTimeToLive("P7D") // 默认消息过期时间,这里是7天
                .withEnablePartitioning(true); // 是否启用分区

        // 创建或更新队列(如果队列已存在则更新属性)
        Queue queue = serviceBusManager.queues().define(queueName)
                .withExistingNamespace(resourceGroupName, namespaceName)
                .withParameters(queueParams)
                .create();

        System.out.println("队列创建成功,队列ID:" + queue.id());

        // 关闭资源管理器
        serviceBusManager.close();
    }
}

注意事项

  • 确保执行代码的身份(本地账号或托管身份)拥有Service Bus Data Owner或Service Bus Contributor权限,否则会因权限不足无法创建队列。
  • 替换代码中的占位符(订阅ID、资源组名等)为你实际的Azure资源信息。
  • 依赖版本建议使用Maven中央仓库中的最新稳定版,避免使用过时版本导致兼容性问题。

内容的提问来源于stack exchange,提问作者Bartosz Matras

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 10:35:34