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

如何通过系统托管标识从Databricks连接Azure Synapse?

使用系统托管标识连接Azure Synapse到Databricks

前提条件

  • 确保Databricks工作区的系统托管标识已被授予Azure Synapse Analytics的相应权限(例如db_datareader/db_datawriter,或数据库级别更高权限,可通过Azure门户在Synapse的IAM或数据库权限配置中完成授权)。

修改连接配置

替换原用户名密码认证的代码,改用系统托管标识的JDBC参数:

# Azure Synapse Connection Configuration(系统托管标识版)
dwDatabase = "<<your-database-name>>"
dwServer = "<<your-sql-sever-name>>"
dwJdbcPort = "1433"
dwJdbcExtraOptions = "encrypt=true;trustServerCertificate=false;hostNameInCertificate=*.database.windows.net;loginTimeout=30;authentication=ActiveDirectoryMSI;"
sqlDwUrl = f"jdbc:sqlserver://{dwServer}:{dwJdbcPort};database={dwDatabase};{dwJdbcExtraOptions}"

关键修改说明

  • 移除原配置中的user和password参数
  • 在dwJdbcExtraOptions中添加authentication=ActiveDirectoryMSI;,这是触发系统托管标识认证的核心参数
  • 将trustServerCertificate设为false,符合Azure安全最佳实践

测试连接示例

用以下代码验证是否能正常读取Synapse中的数据:

df = spark.read \
    .format("jdbc") \
    .option("url", sqlDwUrl) \
    .option("dbtable", "<<your-table-name>>") \
    .load()

df.display()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 22:30:53