如何使用活动目录身份验证连接到数据块中的 Azure SQL 服务器

How to connect to Azure SQL Server in databricks using active directory authentication

在下面的代码中,我使用 SQL 服务器用户 ID 和密码连接到我的数据库。

但是在连接活动目录时出现错误。

请提出一些使用 Active Directory 身份验证连接 Azure Databricks 中的 Azure SQL 服务器数据库的解决方案。

截至目前,我能够连接 JDBC 连接:

sql_url="jdbc:sqlserver://kkk-server.database.windows.net:1433;database=database;user=UserName;password=Password"

根据 Azure 数据块文档 Connecting to Microsoft SQL Server and Azure SQL Database with the Spark Connector

SQL 服务器和 Azure SQL 数据库的 Spark 连接器还支持 Azure Active Directory (AAD) 身份验证。它允许您使用 AAD 帐户从 Azure Databricks 安全地连接到 Azure SQL 数据库。

示例:Read from Azure SQL Database or SQL Server

import com.microsoft.azure.sqldb.spark.config.Config
import com.microsoft.azure.sqldb.spark.connect._

val config = Config(Map(
  "url"            -> "kkk-server.database.windows.net:1433",
  "databaseName"   -> "MyDatabase",
  "dbTable"        -> "dbo.Clients",
  "user"           -> "AD-account",
  "password"       -> "xxxxxxxx",
  "connectTimeout" -> "5", //seconds
  "queryTimeout"   -> "5"  //seconds
))

val collection = spark.read.sqlDB(config)
collection.show()

将用户替换为您的 AD 帐户名称。

希望对您有所帮助。