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

使用托管身份通过Python脚本访问Azure Service Bus遇认证问题

解决VS Code中Python脚本通过用户身份认证Azure Service Bus的问题

以下是你需要补充的配置和检查项:

  • 安装必要的Python SDK包
    确保你的Python环境安装了azure-servicebus和azure-identity包,这两个是实现身份认证和消息发送的核心依赖:

    pip install azure-servicebus azure-identity
    
  • 在脚本中使用DefaultAzureCredential获取凭据
    不要硬编码凭据,DefaultAzureCredential会自动拾取VS Code Azure Account扩展的登录信息。示例脚本如下:

    from azure.servicebus import ServiceBusClient
    from azure.identity import DefaultAzureCredential
    
    # 替换为你的Service Bus命名空间和队列名称
    NAMESPACE = "your-servicebus-namespace"
    QUEUE_NAME = "your-queue-name"
    
    # 使用DefaultAzureCredential获取凭据
    credential = DefaultAzureCredential()
    
    # 创建Service Bus客户端并发送消息
    with ServiceBusClient(NAMESPACE, credential) as client:
        with client.get_queue_sender(queue_name=QUEUE_NAME) as sender:
            sender.send_messages("Hello from VS Code user identity!")
            print("Message sent successfully")
    
  • 确认VS Code终端继承扩展凭据
    必须在VS Code内置终端中运行脚本,外部终端无法获取VS Code扩展的登录上下文。如果用的是集成终端,可尝试重启VS Code或重新打开终端,确保会话能读取到扩展注入的环境变量。

  • 检查账号权限
    你的Azure账号需要拥有目标Service Bus资源的Azure Service Bus Data Sender角色(或Owner、Contributor等更高权限角色)。可在Azure Portal的Service Bus资源「访问控制(IAM)」中确认或添加角色分配。

  • 指定目标Azure订阅
    如果账号关联多个Azure订阅,需在VS Code中切换到正确的订阅:

    1. 打开VS Code左侧活动栏的Azure面板
    2. 在Service Bus节点下,右键点击目标订阅,选择「Set as Default Subscription」

内容的提问来源于stack exchange,提问作者Thomas Segato

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 23:30:57