如何用个人AAD凭据实例化KustoManagementClient并解决类型错误?
解决KustoManagementClient凭据类型不匹配问题
你遇到的错误核心是参数类型不符:DefaultAzureCredential.get_token()返回的是AccessToken对象,但KustoManagementClient要求传入的是TokenCredential类型的实例(也就是DefaultAzureCredential本身),而非已获取的令牌。
正确代码示例
from azure.mgmt.kusto import KustoManagementClient from azure.identity import DefaultAzureCredential # 初始化凭据实例,保留交互式登录与IWA支持 credential = DefaultAzureCredential(exclude_interactive_browser_credential=False) # 直接传入凭据实例给Kusto客户端 kusto_client = KustoManagementClient(credential=credential, subscription_id='你的订阅ID')
关键说明
DefaultAzureCredential本身实现了TokenCredential接口,当Kusto客户端需要访问令牌时,会自动调用凭据的get_token方法,无需手动获取令牌。- 这种方式会自动按优先级尝试身份验证:首先尝试IWA(集成Windows身份验证,仅Windows环境有效),如果失败则触发交互式浏览器登录,完全符合你的需求。
- 确保已安装依赖包:
pip install azure-mgmt-kusto azure-identity
内容的提问来源于stack exchange,提问作者Ahmad Masalha
相关产品推荐
相关产品推荐

