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

在Azure Databricks笔记本中读取Azure App Configuration密钥的方法及替代方案

Azure Databricks读取Azure App Configuration实现配置化过滤方案

完全可以在Azure Databricks笔记本中读取Azure App Configuration的密钥,以下是具体实现步骤、代码及替代方案:

一、认证前置步骤

  • 为Databricks集群启用Azure AD托管身份(生产环境推荐),或准备具备权限的Azure AD服务主体
  • 在Azure App Configuration资源的IAM页面,为Databricks的托管身份/服务主体分配App Configuration Data Reader角色,确保拥有密钥读取权限
  • 记录App Configuration的端点地址(格式:https://<资源名称>.azconfig.io),若用连接字符串方式测试,需从"访问密钥"页面获取完整连接字符串

二、PySpark读取代码实现

方式1:Azure AD托管身份认证(生产首选)

from azure.appconfiguration import AzureAppConfigurationClient
from azure.identity import DefaultAzureCredential

# 替换为你的App Configuration端点
app_config_endpoint = "https://<你的资源名称>.azconfig.io"

# 借助托管身份自动完成认证,无需硬编码密钥
credential = DefaultAzureCredential()
client = AzureAppConfigurationClient(endpoint=app_config_endpoint, credential=credential)

# 读取配置的过滤值列表(假设密钥名为filter_values,配置值用逗号分隔,如"val1,val2,val3")
config_item = client.get_configuration_setting(key="filter_values")
filter_list = config_item.value.split(",")

# 执行数据过滤逻辑
df = spark.read.table("your_source_table")
filtered_df = df.filter(df.target_column.isin(filter_list))
filtered_df.display()

方式2:连接字符串认证(快速测试)

from azure.appconfiguration import AzureAppConfigurationClient
from azure.core.credentials import AzureKeyCredential

# 替换为你的App Configuration连接字符串
connection_string = "<完整连接字符串>"
# 从连接字符串中提取密钥
access_key = connection_string.split(";")[1].split("=")[1]
credential = AzureKeyCredential(access_key)
client = AzureAppConfigurationClient(
    base_url="https://<你的资源名称>.azconfig.io",
    credential=credential
)

# 读取过滤列表并执行过滤
config_item = client.get_configuration_setting(key="filter_values")
filter_list = config_item.value.split(",")

df = spark.read.table("your_source_table")
filtered_df = df.filter(df.target_column.isin(filter_list))
filtered_df.display()

注意:若集群所在VNet有网络限制,需配置防火墙规则允许访问App Configuration的端点。

三、替代实现方案

如果不采用Azure App Configuration,可选择以下轻量配置化方案:

  • Databricks工作区全局变量:在工作区设置中配置全局变量,笔记本通过dbutils.widgets.get()读取,支持人员直接在工作区修改
  • Azure存储账户(Blob/ADLS):将过滤列表保存为JSON/CSV文件存储在Blob/ADLS中,笔记本通过挂载存储或直接读取文件获取配置,支持人员通过Storage Explorer修改文件
  • Databricks Secret Scope:若配置需保密,将过滤列表存入Secret Scope,笔记本通过dbutils.secrets.get(scope="你的作用域", key="filter_values")读取,授权支持人员修改密钥

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 00:47:18