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

如何通过client_id和client_secret而非配置文件初始化looker_sdk

无配置文件初始化looker_sdk实现方案

looker_sdk 支持直接传入自定义配置对象完成初始化,不需要依赖本地ini配置文件,实现步骤如下:

核心实现逻辑

你不需要读取本地配置文件,只需要提前从Azure Key Vault中获取到client_id、client_secret以及你的Looker实例地址base_url三个核心参数,通过ApiSettings构造配置对象后传入初始化方法即可。

完整代码示例

import looker_sdk
from looker_sdk import ApiSettings
from azure.identity import DefaultAzureCredential
from azure.keyvault.secrets import SecretClient

# --------------------------
# 第一步:从Azure Key Vault读取凭据
# --------------------------
kv_url = "https://<你的KeyVault名称>.vault.azure.net/"
secret_client = SecretClient(
    vault_url=kv_url,
    credential=DefaultAzureCredential() # 会自动读取当前环境的Azure身份凭据,不需要额外硬编码AKV密钥
)
looker_client_id = secret_client.get_secret("looker-client-id").value
looker_client_secret = secret_client.get_secret("looker-client-secret").value

# --------------------------
# 第二步:构造配置对象并初始化SDK
# --------------------------
settings = ApiSettings(
    base_url="https://<你的Looker实例地址>:19999", # Looker API默认端口为19999,按实际情况修改
    client_id=looker_client_id,
    client_secret=looker_client_secret,
    verify_ssl=True, # 生产环境建议保持开启,测试环境如果有自签名证书可以设为False
    timeout=120 # 可选,自定义请求超时时间
)

# 初始化3.1版本API的SDK,如需使用4.0版本API替换为init40即可
sdk = looker_sdk.init31(settings=settings)

注意事项

  • 上述示例中使用DefaultAzureCredential读取AKV凭据,支持本地开发环境(读取VSCode/az cli登录凭据)、Azure部署环境(读取托管身份凭据),无需额外硬编码AKV的访问密钥
  • 原ini文件中的其他配置项(比如api_version、transport_options等)都可以作为参数传入ApiSettings构造方法,和ini配置的参数完全等价

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 12:15:02