你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

将 Azure SQL 数据库与服务连接器集成

此页显示了受支持的身份验证方法和客户端,并演示了可用于使用服务连接器将计算服务连接到 Azure SQL 数据库的示例代码。 仍可使用其他方法连接到 Azure SQL 数据库。 此页面还显示你在创建服务连接时获得的默认环境变量名称和值。

受支持的计算服务

服务连接器可用于将以下计算服务连接到 Azure SQL 数据库:

  • Azure 应用程序服务
  • Azure Container Apps
  • Azure Functions
  • Azure Kubernetes 服务 (AKS)
  • Azure Spring Apps

受支持的身份验证类型和客户端

下表显示了使用服务连接器将计算服务连接到 Azure SQL 数据库时受支持的身份验证方法和客户端的组合。 “是”表示支持该组合,“否”表示不支持该组合。

客户端类型 系统分配的托管标识 用户分配的托管标识 机密/连接字符串 服务主体
.NET
Go No
Java
Java - Spring Boot
Node.js
PHP No
Python
Python - Django No
Ruby No

此表指示所有客户端类型都支持机密/连接字符串方法。 .NET、Java、Java、Java - Spring Boot、Node.js、Python 和 None 客户端类型支持系统分配的托管标识、用户分配的托管标识和服务主体方法。 Go、PHP、Django 和 Ruby 客户端类型不支持这些方法。

注意

系统分配的托管标识、用户分配的托管标识和服务主体仅在 Azure CLI 上受支持。

默认环境变量名称或应用程序属性和示例代码

使用以下连接详细信息将计算服务连接到 Azure SQL 数据库。 对于以下每个示例,请将占位符文本 <sql-server><sql-database><sql-username><sql-password> 替换为你自己的服务器名称、数据库名称、用户 ID 和密码。 有关命名约定的详细信息,请参阅服务连接器内部一文。

系统分配的托管标识

默认环境变量名称 说明 示例值
AZURE_SQL_CONNECTIONSTRING Azure SQL 数据库连接字符串 Data Source=<sql-server>.database.windows.net,1433;Initial Catalog=<sql-database>;Authentication=ActiveDirectoryManagedIdentity

示例代码

请参阅下面的步骤和代码,以使用系统分配的托管标识连接到 Azure SQL 数据库。

  1. 安装依赖项。

    dotnet add package Microsoft.Data.SqlClient
    
  2. 从服务连接器添加的环境变量中获取 Azure SQL 数据库连接字符串。

    using Microsoft.Data.SqlClient;
    
    string connectionString = 
        Environment.GetEnvironmentVariable("AZURE_SQL_CONNECTIONSTRING")!;
    
    using var connection = new SqlConnection(connectionString);
    connection.Open();
    

    有关详细信息,请参阅使用 Active Directory 托管标识身份验证

有关详细信息,请参阅 Microsoft SQL Server 客户端编程的主页

用户分配的托管标识

默认环境变量名称 说明 示例值
AZURE_SQL_CONNECTIONSTRING Azure SQL 数据库连接字符串 Data Source=<sql-server>.database.windows.net,1433;Initial Catalog=<sql-database>;User ID=<identity-client-ID>;Authentication=ActiveDirectoryManagedIdentity

示例代码

请参阅下面的步骤和代码,以使用用户分配的托管标识连接到 Azure SQL 数据库。

  1. 安装依赖项。

    dotnet add package Microsoft.Data.SqlClient
    
  2. 从服务连接器添加的环境变量中获取 Azure SQL 数据库连接字符串。

    using Microsoft.Data.SqlClient;
    
    string connectionString = 
        Environment.GetEnvironmentVariable("AZURE_SQL_CONNECTIONSTRING")!;
    
    using var connection = new SqlConnection(connectionString);
    connection.Open();
    

    有关详细信息,请参阅使用 Active Directory 托管标识身份验证

有关详细信息,请参阅 Microsoft SQL Server 客户端编程的主页

连接字符串

警告

Microsoft 建议使用最安全的可用身份验证流。 本过程中介绍的身份验证流程需要非常高的信任度,并携带其他流中不存在的风险。 请仅在无法使用其他更安全的流(例如托管标识)时才使用此流。

默认环境变量名称 说明 示例值
AZURE_SQL_CONNECTIONSTRING Azure SQL 数据库连接字符串 Data Source=<sql-server>.database.windows.net,1433;Initial Catalog=<sql-database>;Password=<sql-password>

示例代码

请参阅下面的步骤和代码,以使用连接字符串连接到 Azure SQL 数据库。

  1. 安装依赖项。

    dotnet add package Microsoft.Data.SqlClient
    
  2. 从服务连接器添加的环境变量中获取 Azure SQL 数据库连接字符串。

    using Microsoft.Data.SqlClient;
    
    string connectionString = 
        Environment.GetEnvironmentVariable("AZURE_SQL_CONNECTIONSTRING")!;
    
    using var connection = new SqlConnection(connectionString);
    connection.Open();
    

有关详细信息,请参阅 Microsoft SQL Server 客户端编程的主页

服务主体

默认环境变量名称 说明 示例值
AZURE_SQL_CLIENTID 客户端 ID <client-ID>
AZURE_SQL_CLIENTSECRET 客户端密码 <client-secret>
AZURE_SQL_TENANTID 租户 ID <tenant-ID>
AZURE_SQL_CONNECTIONSTRING Azure SQL 数据库连接字符串 Data Source=<sql-server>.database.windows.net,1433;Initial Catalog=<sql-database>;User ID=<client-Id>;Password=<client-secret>;Authentication=ActiveDirectoryServicePrincipal

示例代码

请参阅下面的步骤和代码,以使用服务主体连接到 Azure SQL 数据库。

  1. 安装依赖项。

    dotnet add package Microsoft.Data.SqlClient
    
  2. 从服务连接器添加的环境变量中获取 Azure SQL 数据库连接字符串。

    using Microsoft.Data.SqlClient;
    
    string connectionString = 
        Environment.GetEnvironmentVariable("AZURE_SQL_CONNECTIONSTRING")!;
    
    using var connection = new SqlConnection(connectionString);
    connection.Open();
    

    有关详细信息,请参阅使用 Active Directory 托管标识身份验证

有关详细信息,请参阅 Microsoft SQL Server 客户端编程的主页

后续步骤

参考下面列出的教程来详细了解服务连接器。