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

使用azure.identity库遇AttributeError: 'DefaultAzureCredential'无signed_session属性

解决AttributeError: 'DefaultAzureCredential' object has no attribute 'signed_session'错误

问题描述

我在读取Log Analytics Workspace时遇到标题所示错误,代码如下:

from azure.identity import DefaultAzureCredential
from azure.loganalytics import LogAnalyticsDataClient
from azure.loganalytics.models import QueryBody
from IPython.core.debugger import set_trace

# Replace these variables with your actual values
workspace_id = 'ABCDE'
query = """ddex_CL
| take 100
"""

credential = DefaultAzureCredential()

client = LogAnalyticsDataClient(credential)
query_body = QueryBody(query=query)
body=query_body)
response = client.query(workspace_id, body=query_body).execute()
for row in response.tables[0].rows:
    print(row)

已尝试安装最新版本依赖库:

pip3 install azure-loganalytics azure-identity

当前库版本:

  • azure-loganalytics:0.1.1
  • azure-identity:1.14.0

但问题仍未解决,请问需要修改哪些库或代码?


解决方案

核心原因

azure-loganalytics 0.1.1是老旧的Azure SDK v1版本,不支持azure-identity的认证机制,它依赖旧版的azure.common.credentials类,因此会触发signed_session不存在的错误。

具体操作步骤

  1. 卸载不兼容的旧库

    pip uninstall -y azure-loganalytics
    
  2. 安装官方推荐的新版SDK
    Azure官方已将Log Analytics查询功能整合到azure-monitor-query(v2版本SDK),原生支持azure-identity:

    pip install azure-monitor-query azure-identity
    
  3. 适配新版SDK修改代码
    新版API结构与旧版差异较大,调整后的代码示例:

    from azure.identity import DefaultAzureCredential
    from azure.monitor.query import LogsQueryClient
    from azure.monitor.query.models import LogsQueryStatus
    
    # 替换为你的实际Workspace ID
    workspace_id = 'ABCDE'
    query = """ddex_CL
    | take 100
    """
    
    credential = DefaultAzureCredential()
    # 初始化新版日志查询客户端
    client = LogsQueryClient(credential)
    
    # 执行Workspace日志查询
    response = client.query_workspace(
        workspace_id=workspace_id,
        query=query,
    )
    
    # 处理并输出查询结果
    if response.status == LogsQueryStatus.SUCCESS:
        table = response.tables[0]
        for row in table.rows:
            print(row)
    

额外提示

  • azure-monitor-query是Azure监控数据查询的统一SDK,同时支持Log Analytics日志和Metrics指标查询。
  • 确保你的Azure账号拥有目标Log Analytics Workspace的Log Analytics Reader或更高权限,避免出现授权错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 14:42:55