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

如何在environment.yml中配置Databricks凭据?变量无法使用求助

问题原因与解决方案

你的配置不生效的核心原因:conda的environment.yml中variables字段仅支持设置静态字符串值,无法执行Python代码(包括dbutils.secrets.get()这种Databricks专属的秘密读取方法)。当前配置会把dbutils.secrets.get(...)整个字符串当成变量值,而非实际的秘密内容,所以代码无法读取到正确的变量。

正确的处理方式

方式一:在Notebook中动态设置环境变量

在代码执行前,通过Python代码直接读取秘密并设置环境变量:

import os
# 读取Databricks秘密并设置为环境变量
os.environ["CLIENT_ID"] = dbutils.secrets.get(scope="a", key="SERVICE-PRINICIPAL-CLIENT-ID")
os.environ["CLIENT_SECRET"] = dbutils.secrets.get(scope="a", key="SERVICE-PRINICIPAL-CLIENT-SECRET")
# 静态变量可以直接设置
os.environ["TENANT_ID"] = "abc"

方式二:通过Databricks集群配置全局设置环境变量

  1. 进入目标集群的配置页面
  2. 找到「环境变量」配置项
  3. 添加以下变量:
    • TENANT_ID:直接填入值abc
    • CLIENT_ID:使用Databricks秘密引用格式 {{secrets/a/SERVICE-PRINICIPAL-CLIENT-ID}}
    • CLIENT_SECRET:使用Databricks秘密引用格式 {{secrets/a/SERVICE-PRINICIPAL-CLIENT-SECRET}}

补充说明

如果只是管理静态环境变量,TENANT_ID可以保留在environment.yml的variables字段中,但涉及Databricks秘密的变量必须通过上述动态方式设置,因为conda无法解析执行秘密读取代码。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 21:55:19