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

如何为SQL版Delta Live Tables配置Azure Data Lake访问授权?

解决方案

针对SQL版Delta Live Tables笔记本无法添加Python配置单元格的问题,有两种可行的方式配置Azure Data Lake访问权限:

1. 在DLT管道的Spark配置中直接引用密钥

DLT管道支持直接通过{{secrets/密钥范围/密钥名称}}语法引用Databricks密钥,无需依赖dbutils.secrets.get。具体操作如下:

  • 打开DLT管道的配置页面,找到Spark configuration区域
  • 将原Python代码中的Spark配置项逐行填入,把service_credential替换为密钥引用语法,最终配置内容如下:
fs.azure.account.auth.type.mylake.dfs.core.windows.net OAuth
fs.azure.account.oauth.provider.type.mylake.dfs.core.windows.net org.apache.hadoop.fs.azurebfs.oauth2.ClientCredsTokenProvider
fs.azure.account.oauth2.client.id.mylake.dfs.core.windows.net 99999999-9999-9999-9999-999999999
fs.azure.account.oauth2.client.secret.mylake.dfs.core.windows.net {{secrets/myscope/mykey}}
fs.azure.account.oauth2.client.endpoint.mylake.dfs.core.windows.net https://login.microsoftonline.com/99999999-9999-9999-9999-9999999999/oauth2/token
  • 保存管道配置后重新运行,DLT会自动解析密钥引用并完成认证

2. 使用Databricks外部位置(External Location)统一管理存储访问

这种方式更适合多管道复用存储配置,权限管理更集中:

  • 在Databricks控制台创建外部位置:
    • 指定存储账户路径(如abfss://container@mylake.dfs.core.windows.net/DataLakeSource/MyTableFiles)
    • 认证方式选择OAuth,填入Client ID、Client Secret(用{{secrets/myscope/mykey}}引用)、Token Endpoint
    • 授予DLT管道对应的服务主体访问该外部位置的权限
  • 在SQL笔记本中直接使用外部位置:
CREATE OR REFRESH STREAMING LIVE TABLE MyTable
AS SELECT * FROM cloud_files("my_external_location", "parquet", map("cloudFiles.inferColumnTypes", "true"))

注意事项

  • 确保DLT管道的运行身份(服务主体)拥有访问密钥范围的权限,以及Azure Data Lake存储账户的Blob数据 Contributor(或对应读写权限)
  • 两种方式都不需要在SQL笔记本中添加任何配置代码,完全符合SQL版DLT的使用限制

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 14:27:03