Tento článek popisuje podporované metody ověřování, klienty a ukázkový kód, které můžete použít k připojení aplikací ke službě Azure SQL Database pomocí konektoru služby. V tomto článku najdete také výchozí názvy proměnných prostředí, hodnoty a konfiguraci získané při vytváření připojení služeb.
Podporované výpočetní služby
Konektor služby se dá použít k připojení následujících výpočetních služeb ke službě Azure SQL Database:
- Azure App Service
- Azure Container Apps
- Azure Functions
- Azure Kubernetes Service (AKS)
- Azure Spring Apps
Podporované typy ověřování a klienti
Následující tabulka ukazuje, které kombinace metod ověřování a klientů se podporují pro připojení výpočetní služby ke službě Azure SQL Database pomocí konektoru služby. "Ano" označuje, že kombinace je podporována, zatímco "Ne" označuje, že není podporována.
| Typ klienta |
Spravovaná identita přiřazená systémem |
Spravovaná identita přiřazená uživatelem |
Tajný kód/připojovací řetězec |
Instanční objekt |
| .NET |
Ano |
Ano |
Ano |
Ano |
| Jdi |
Ne |
Ne |
Ano |
Ne |
| Java |
Ano |
Ano |
Ano |
Ano |
| Java – Spring Boot |
Ano |
Ano |
Ano |
Ano |
| Node.js |
Ano |
Ano |
Ano |
Ano |
| PHP |
Ne |
Ne |
Ano |
Ne |
| Python |
Ano |
Ano |
Ano |
Ano |
| Python – Django |
Ne |
Ne |
Ano |
Ne |
| rubín |
Ne |
Ne |
Ano |
Ne |
| Nic |
Ano |
Ano |
Ano |
Ano |
Poznámka:
Spravovaná identita přiřazená systémem, spravovaná identita přiřazená uživatelem a ověřování pomocí principálu služby jsou podporovány pouze v Azure CLI.
Výchozí názvy proměnných prostředí nebo vlastnosti aplikace a ukázkový kód
Pomocí níže uvedených podrobností o připojení připojte výpočetní služby ke službě Azure SQL Database. V každém příkladu níže nahraďte zástupné texty <sql-server>, <sql-database>, <sql-username>a <sql-password> vlastním názvem serveru, názvem databáze, ID uživatele a heslem. Další informace o konvencích vytváření názvů najdete v interním článku o konektoru služby.
Spravovaná identita přiřazená systémem
| Výchozí název proměnné prostředí |
Popis |
Ukázková hodnota |
AZURE_SQL_CONNECTIONSTRING |
Azure SQL Database připojovací řetězec |
Data Source=<sql-server>.database.windows.net,1433;Initial Catalog=<sql-database>;Authentication=ActiveDirectoryManagedIdentity |
| Výchozí název systémové proměnné |
Popis |
Ukázková hodnota |
AZURE_SQL_CONNECTIONSTRING |
Připojovací řetězec Azure SQL Database |
jdbc:sqlserver://<sql-server>.database.windows.net:1433;databaseName=<sql-database>;authentication=ActiveDirectoryMSI; |
| Výchozí název proměnné prostředí |
Popis |
Ukázková hodnota |
spring.datasource.url |
Adresa URL zdroje dat azure SQL Database |
jdbc:sqlserver://<sql-server>.database.windows.net:1433;databaseName=<sql-db>;authentication=ActiveDirectoryMSI; |
| Výchozí název proměnné prostředí |
Popis |
Ukázková hodnota |
AZURE_SQL_SERVER |
Server Azure-SQL-Database |
<sql-server>.database.windows.net |
AZURE_SQL_PORT |
Port služby Azure SQL Database |
1433 |
AZURE_SQL_DATABASE |
Azure SQL Databáze |
<sql-database> |
AZURE_SQL_AUTHENTICATION |
Ověřování Azure SQL |
ActiveDirectoryMsi |
| Výchozí název proměnné prostředí |
Popis |
Ukázková hodnota |
AZURE_SQL_SERVER |
Server databáze SQL Azure |
<sql-server>.database.windows.net |
AZURE_SQL_PORT |
Port služby Azure SQL Database |
1433 |
AZURE_SQL_DATABASE |
Azure SQL databáze |
<sql-database> |
AZURE_SQL_AUTHENTICATIONTYPE |
Typ ověřování Azure SQL Database |
azure-active-directory-default |
| Výchozí název proměnné prostředí |
Popis |
Ukázková hodnota |
AZURE_SQL_HOST |
Azure SQL Database server |
<sql-server>.database.windows.net |
AZURE_SQL_PORT |
Port služby Azure SQL Database |
1433 |
AZURE_SQL_DATABASE |
Azure SQL databáze |
<sql-database> |
AZURE_SQL_AUTHENTICATION |
Typ ověřování Azure SQL Database |
azure-active-directory-default |
Ukázkový kód
Pokud se chcete připojit ke službě Azure SQL Database pomocí spravované identity přiřazené systémem, projděte si následující postup a kód.
Nainstalujte závislosti.
dotnet add package Microsoft.Data.SqlClient
Získejte připojovací řetězec pro Azure SQL Database z proměnné prostředí, kterou přidal konektor služeb.
using Microsoft.Data.SqlClient;
string connectionString =
Environment.GetEnvironmentVariable("AZURE_SQL_CONNECTIONSTRING")!;
using var connection = new SqlConnection(connectionString);
connection.Open();
Další informace najdete v tématu Použití ověřování spravované identity služby Active Directory.
Do souboru pom.xml přidejte následující závislosti:
<dependency>
<groupId>com.microsoft.sqlserver</groupId>
<artifactId>mssql-jdbc</artifactId>
<version>10.2.0.jre11</version>
</dependency>
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-identity</artifactId>
<version>1.7.0</version>
</dependency>
Získejte připojovací řetězec Azure SQL Database z proměnné prostředí, kterou přidal Service Connector.
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
import com.microsoft.sqlserver.jdbc.SQLServerDataSource;
public class Main {
public static void main(String[] args) {
// AZURE_SQL_CONNECTIONSTRING should be one of the following:
// For system-assigned managed identity: "jdbc:sqlserver://{SQLName}.database.windows.net:1433;databaseName={SQLDbName};authentication=ActiveDirectoryMSI;"
// For user-assigned managed identity: "jdbc:sqlserver://{SQLName}.database.windows.net:1433;databaseName={SQLDbName};msiClientId={UserAssignedMiClientId};authentication=ActiveDirectoryMSI;"
// For service principal: "jdbc:sqlserver://{SQLName}.database.windows.net:1433;databaseName={SQLDbName};user={ServicePrincipalClientId};password={spSecret};authentication=ActiveDirectoryServicePrincipal;"
String connectionString = System.getenv("AZURE_SQL_CONNECTIONSTRING");
SQLServerDataSource ds = new SQLServerDataSource();
ds.setURL(connectionString);
try (Connection connection = ds.getConnection()) {
System.out.println("Connected successfully.");
} catch (SQLException e) {
e.printStackTrace();
}
}
}
Další informace najdete v tématu Připojení k databázím Azure ze služby App Service bez tajných kódů pomocí spravované identity.
Pokud pro aplikaci Spring vytvoříte připojení s volbou --client-type springboot, Service Connector nastaví v Azure Spring Apps vlastnosti spring.datasource.url ve formátu hodnoty jdbc:sqlserver://<sql-server>.database.windows.net:1433;databaseName=<sql-db>;authentication=ActiveDirectoryMSI;.
Aktualizujte aplikaci podle kurzu Migrace aplikace v Javě tak, aby používala připojení bez hesla se službou Azure SQL Database. Nezapomeňte odebrat spring.datasource.password vlastnost konfigurace, pokud byla nastavena dříve, a přidat správné závislosti.
Nainstalujte závislosti.
python -m pip install pyodbc
Získejte konfigurace připojení k databázi Azure SQL z proměnné prostředí přidané service connectorem. Při použití následujícího kódu odkomentujte část fragmentu kódu pro typ ověřování, který chcete použít. Pokud používáte Azure Container Apps jako výpočetní službu nebo připojovací řetězec v ukázce kódu nefunguje, přečtěte si článek Migrování aplikace Python pro použití bezheslových připojení s Azure SQL databází, kde se dozvíte, jak se k Azure SQL Database připojit pomocí přístupového tokenu.
import os
import pyodbc
server = os.getenv('AZURE_SQL_SERVER')
port = os.getenv('AZURE_SQL_PORT')
database = os.getenv('AZURE_SQL_DATABASE')
authentication = os.getenv('AZURE_SQL_AUTHENTICATION')
# Uncomment the following lines corresponding to the authentication type you want to use.
# For system-assigned managed identity.
# connString = f'Driver={{ODBC Driver 18 for SQL Server}};Server=tcp:{server},{port};Database={database};Authentication={authentication};Encrypt=yes;TrustServerCertificate=no;Connection Timeout=30'
# For user-assigned managed identity.
# clientID = os.getenv('AZURE_SQL_USER')
# connString = f'Driver={{ODBC Driver 18 for SQL Server}};Server=tcp:{server},{port};Database={database};UID={clientID};Authentication={authentication};Encrypt=yes;TrustServerCertificate=no;Connection Timeout=30'
# For service principal.
# user = os.getenv('AZURE_SQL_USER')
# password = os.getenv('AZURE_SQL_PASSWORD')
# connString = f'Driver={{ODBC Driver 18 for SQL Server}};Server=tcp:{server},{port};Database={database};UID={user};PWD={password};Authentication={authentication};Encrypt=yes;TrustServerCertificate=no;Connection Timeout=30'
conn = pyodbc.connect(connString)
- Nainstalujte závislosti.
npm install mssql
- Získejte konfigurace připojení ke službě Azure SQL Database z proměnných prostředí přidaných konektorem služby. Při použití následujícího kódu odkomentujte část fragmentu kódu pro typ ověřování, který chcete použít.
import sql from 'mssql';
const server = process.env.AZURE_SQL_SERVER;
const database = process.env.AZURE_SQL_DATABASE;
const port = parseInt(process.env.AZURE_SQL_PORT);
const authenticationType = process.env.AZURE_SQL_AUTHENTICATIONTYPE;
// Uncomment the following lines corresponding to the authentication type you want to use.
// For system-assigned managed identity.
// const config = {
// server,
// port,
// database,
// authentication: {
// type: authenticationType
// },
// options: {
// encrypt: true
// }
// };
// For user-assigned managed identity.
// const clientId = process.env.AZURE_SQL_CLIENTID;
// const config = {
// server,
// port,
// database,
// authentication: {
// type: authenticationType
// },
// options: {
// encrypt: true,
// clientId: clientId
// }
// };
// For service principal.
// const clientId = process.env.AZURE_SQL_CLIENTID;
// const clientSecret = process.env.AZURE_SQL_CLIENTSECRET;
// const tenantId = process.env.AZURE_SQL_TENANTID;
// const config = {
// server,
// port,
// database,
// authentication: {
// type: authenticationType
// },
// options: {
// encrypt: true,
// clientId: clientId,
// clientSecret: clientSecret,
// tenantId: tenantId
// }
// };
this.poolconnection = await sql.connect(config);
Další informace naleznete v tématu Domovská stránka pro programování klientů na Microsoft SQL Server.
Spravovaná identita přiřazená uživatelem
| Výchozí název proměnné prostředí |
Popis |
Ukázková hodnota |
AZURE_SQL_CONNECTIONSTRING |
Azure SQL Database připojovací řetězec |
Data Source=<sql-server>.database.windows.net,1433;Initial Catalog=<sql-database>;User ID=<identity-client-ID>;Authentication=ActiveDirectoryManagedIdentity |
| Výchozí název proměnné prostředí |
Popis |
Ukázková hodnota |
AZURE_SQL_CONNECTIONSTRING |
Azure SQL Database připojovací řetězec |
jdbc:sqlserver://<sql-server>.database.windows.net:1433;databaseName=<sql-database>;msiClientId=<msiClientId>;authentication=ActiveDirectoryMSI; |
| Výchozí název proměnné prostředí |
Popis |
Ukázková hodnota |
spring.datasource.url |
Adresa URL zdroje dat azure SQL Database |
jdbc:sqlserver://<sql-server>.database.windows.net:1433;databaseName=<sql-db>;msiClientId=<msiClientId>;authentication=ActiveDirectoryMSI; |
| Výchozí název proměnné prostředí |
Popis |
Ukázková hodnota |
AZURE_SQL_SERVER |
Server služby Azure SQL Database |
<sql-server>.database.windows.net |
AZURE_SQL_PORT |
Port služby Azure SQL Database |
1433 |
AZURE_SQL_DATABASE |
Databáze Azure SQL |
<sql-database> |
AZURE_SQL_USER |
Uživatel azure SQL Database |
Object (principal) ID |
AZURE_SQL_AUTHENTICATION |
Ověřování Azure SQL |
ActiveDirectoryMsi |
| Výchozí název proměnné prostředí |
Popis |
Ukázková hodnota |
AZURE_SQL_SERVER |
Server Azure SQL Database |
<sql-server>.database.windows.net |
AZURE_SQL_PORT |
Port služby Azure SQL Database |
1433 |
AZURE_SQL_DATABASE |
Azure SQL databáze |
<sql-database> |
AZURE_SQL_AUTHENTICATIONTYPE |
Typ ověřování Azure SQL Database |
azure-active-directory-default |
AZURE_SQL_CLIENTID |
ID klienta Azure SQL Database |
<identity-client-ID> |
| Výchozí název proměnné prostředí |
Popis |
Ukázková hodnota |
AZURE_SQL_HOST |
Azure SQL Database server |
<sql-server>.database.windows.net |
AZURE_SQL_PORT |
Port služby Azure SQL Database |
1433 |
AZURE_SQL_DATABASE |
Databáze Azure SQL |
<sql-database> |
AZURE_SQL_AUTHENTICATION |
Typ ověřování Azure SQL Database |
azure-active-directory-default |
AZURE_SQL_USERNAME |
ID klienta Azure SQL Database |
<your Client ID> |
Ukázkový kód
Pokud se chcete připojit ke službě Azure SQL Database pomocí spravované identity přiřazené uživatelem, projděte si následující postup a kód.
Nainstalujte závislosti.
dotnet add package Microsoft.Data.SqlClient
Získejte připojovací řetězec Azure SQL Database z proměnné prostředí přidané konektorem služby.
using Microsoft.Data.SqlClient;
string connectionString =
Environment.GetEnvironmentVariable("AZURE_SQL_CONNECTIONSTRING")!;
using var connection = new SqlConnection(connectionString);
connection.Open();
Další informace najdete v tématu Použití ověřování spravované identity služby Active Directory.
Do souboru pom.xml přidejte následující závislosti:
<dependency>
<groupId>com.microsoft.sqlserver</groupId>
<artifactId>mssql-jdbc</artifactId>
<version>10.2.0.jre11</version>
</dependency>
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-identity</artifactId>
<version>1.7.0</version>
</dependency>
Získejte řetězec připojení k databázi Azure SQL z proměnné prostředí, kterou přidal konektor služby.
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
import com.microsoft.sqlserver.jdbc.SQLServerDataSource;
public class Main {
public static void main(String[] args) {
// AZURE_SQL_CONNECTIONSTRING should be one of the following:
// For system-assigned managed identity: "jdbc:sqlserver://{SQLName}.database.windows.net:1433;databaseName={SQLDbName};authentication=ActiveDirectoryMSI;"
// For user-assigned managed identity: "jdbc:sqlserver://{SQLName}.database.windows.net:1433;databaseName={SQLDbName};msiClientId={UserAssignedMiClientId};authentication=ActiveDirectoryMSI;"
// For service principal: "jdbc:sqlserver://{SQLName}.database.windows.net:1433;databaseName={SQLDbName};user={ServicePrincipalClientId};password={spSecret};authentication=ActiveDirectoryServicePrincipal;"
String connectionString = System.getenv("AZURE_SQL_CONNECTIONSTRING");
SQLServerDataSource ds = new SQLServerDataSource();
ds.setURL(connectionString);
try (Connection connection = ds.getConnection()) {
System.out.println("Connected successfully.");
} catch (SQLException e) {
e.printStackTrace();
}
}
}
Další informace najdete v tématu Připojení k databázím Azure ze služby App Service bez tajných kódů pomocí spravované identity.
Pokud vytvoříte připojení pro aplikaci Spring s použitím možnosti --client-type springboot, Service Connector nastaví vlastnosti spring.datasource.url v hodnotovém formátu jdbc:sqlserver://<sql-server>.database.windows.net:1433;databaseName=<sql-db>;authentication=ActiveDirectoryMSI; pro Azure Spring Apps.
Aktualizujte aplikaci podle kurzu Migrace aplikace v Javě tak, aby používala připojení bez hesla se službou Azure SQL Database. Nezapomeňte odebrat spring.datasource.password vlastnost konfigurace, pokud byla nastavena dříve, a přidat správné závislosti.
Nainstalujte závislosti.
python -m pip install pyodbc
Získejte konfigurace připojení ke službě Azure SQL Database z proměnné prostředí přidané pomocí Service Connectoru. Při použití následujícího kódu odkomentujte část fragmentu kódu pro typ ověřování, který chcete použít. Pokud používáte Azure Container Apps jako výpočetní službu, nebo pokud připojovací řetězec ve fragmentu kódu nefunguje, podívejte se na Migrace aplikace Pythonu pro použití bezheslových připojení s Azure SQL Database, abyste se připojili k Azure SQL Database pomocí přístupového tokenu.
import os
import pyodbc
server = os.getenv('AZURE_SQL_SERVER')
port = os.getenv('AZURE_SQL_PORT')
database = os.getenv('AZURE_SQL_DATABASE')
authentication = os.getenv('AZURE_SQL_AUTHENTICATION')
# Uncomment the following lines corresponding to the authentication type you want to use.
# For system-assigned managed identity.
# connString = f'Driver={{ODBC Driver 18 for SQL Server}};Server=tcp:{server},{port};Database={database};Authentication={authentication};Encrypt=yes;TrustServerCertificate=no;Connection Timeout=30'
# For user-assigned managed identity.
# clientID = os.getenv('AZURE_SQL_USER')
# connString = f'Driver={{ODBC Driver 18 for SQL Server}};Server=tcp:{server},{port};Database={database};UID={clientID};Authentication={authentication};Encrypt=yes;TrustServerCertificate=no;Connection Timeout=30'
# For service principal.
# user = os.getenv('AZURE_SQL_USER')
# password = os.getenv('AZURE_SQL_PASSWORD')
# connString = f'Driver={{ODBC Driver 18 for SQL Server}};Server=tcp:{server},{port};Database={database};UID={user};PWD={password};Authentication={authentication};Encrypt=yes;TrustServerCertificate=no;Connection Timeout=30'
conn = pyodbc.connect(connString)
- Nainstalujte závislosti.
npm install mssql
- Získejte konfigurace připojení ke službě Azure SQL Database z proměnných prostředí přidaných konektorem služby. Při použití následujícího kódu odkomentujte část fragmentu kódu pro typ ověřování, který chcete použít.
import sql from 'mssql';
const server = process.env.AZURE_SQL_SERVER;
const database = process.env.AZURE_SQL_DATABASE;
const port = parseInt(process.env.AZURE_SQL_PORT);
const authenticationType = process.env.AZURE_SQL_AUTHENTICATIONTYPE;
// Uncomment the following lines corresponding to the authentication type you want to use.
// For system-assigned managed identity.
// const config = {
// server,
// port,
// database,
// authentication: {
// type: authenticationType
// },
// options: {
// encrypt: true
// }
// };
// For user-assigned managed identity.
// const clientId = process.env.AZURE_SQL_CLIENTID;
// const config = {
// server,
// port,
// database,
// authentication: {
// type: authenticationType
// },
// options: {
// encrypt: true,
// clientId: clientId
// }
// };
// For service principal.
// const clientId = process.env.AZURE_SQL_CLIENTID;
// const clientSecret = process.env.AZURE_SQL_CLIENTSECRET;
// const tenantId = process.env.AZURE_SQL_TENANTID;
// const config = {
// server,
// port,
// database,
// authentication: {
// type: authenticationType
// },
// options: {
// encrypt: true,
// clientId: clientId,
// clientSecret: clientSecret,
// tenantId: tenantId
// }
// };
this.poolconnection = await sql.connect(config);
Další informace naleznete v tématu Domovská stránka pro programování klientů na Microsoft SQL Server.
Připojovací řetězec
Varování
Microsoft doporučuje používat nejbezpečnější dostupný tok ověřování. Ověřovací tok popsaný v tomto postupu vyžaduje velmi vysoký stupeň důvěryhodnosti v aplikaci a nese rizika, která nejsou přítomna v jiných tocích. Tento tok byste měli použít jenom v případě, že jiné bezpečnější toky, jako jsou spravované identity, nejsou přijatelné.
| Výchozí název proměnné prostředí |
Popis |
Ukázková hodnota |
AZURE_SQL_CONNECTIONSTRING |
Azure SQL Database připojovací řetězec |
Data Source=<sql-server>.database.windows.net,1433;Initial Catalog=<sql-database>;Password=<sql-password> |
| Výchozí název proměnné prostředí |
Popis |
Ukázková hodnota |
AZURE_SQL_CONNECTIONSTRING |
Připojovací řetězec Azure SQL Database |
jdbc:sqlserver://<sql-server>.database.windows.net:1433;databaseName=<sql-database>;user=<sql-username>;password=<sql-password>; |
| Výchozí název proměnné prostředí |
Popis |
Ukázková hodnota |
spring.datasource.url |
Adresa URL zdroje dat azure SQL Database |
jdbc:sqlserver://<sql-server>.database.windows.net:1433;databaseName=<sql-db>; |
spring.datasource.username |
Uživatelské jméno zdroje dat ve službě Azure SQL Database |
<sql-user> |
spring.datasource.password |
Heslo pro zdroj dat Azure SQL Database |
<sql-password> |
| Výchozí název proměnné prostředí |
Popis |
Ukázková hodnota |
AZURE_SQL_SERVER |
Azure SQL Database server |
<sql-server>.database.windows.net |
AZURE_SQL_PORT |
Port služby Azure SQL Database |
1433 |
AZURE_SQL_DATABASE |
Databáze Azure SQL |
<sql-database> |
AZURE_SQL_USER |
Uživatel azure SQL Database |
<sql-username> |
AZURE_SQL_PASSWORD |
Heslo služby Azure SQL Database |
<sql-password> |
| Výchozí název proměnné prostředí |
Popis |
Ukázková hodnota |
AZURE_SQL_HOST |
Hostitel Azure SQL Database |
<sql-server>.database.windows.net |
AZURE_SQL_PORT |
Port služby Azure SQL Database |
1433 |
AZURE_SQL_NAME |
Název služby Azure SQL Database |
<sql-database> |
AZURE_SQL_USER |
Uživatel azure SQL Database |
<sql-username> |
AZURE_SQL_PASSWORD |
Heslo služby Azure SQL Database |
<sql-password> |
| Výchozí název proměnné prostředí |
Popis |
Ukázková hodnota |
AZURE_SQL_CONNECTIONSTRING |
Azure SQL Database připojovací řetězec |
server=<sql-server>.database.windows.net;port=1433;database=<sql-database>;user id=<sql-username>;password=<sql-password>; |
| Výchozí název proměnné prostředí |
Popis |
Ukázková hodnota |
AZURE_SQL_SERVER |
Server databáze Azure SQL |
<sql-server>.database.windows.net |
AZURE_SQL_PORT |
Port služby Azure SQL Database |
1433 |
AZURE_SQL_DATABASE |
Databáze Azure SQL |
<sql-database> |
AZURE_SQL_USERNAME |
Uživatelské jméno služby Azure SQL Database |
<sql-username> |
AZURE_SQL_PASSWORD |
Heslo služby Azure SQL Database |
<sql-password> |
| Výchozí název proměnné prostředí |
Popis |
Ukázková hodnota |
AZURE_SQL_SERVERNAME |
Název serveru služby Azure SQL Database |
<sql-server>.database.windows.net,1433 |
AZURE_SQL_DATABASE |
Databáze Azure SQL |
<sql-database> |
AZURE_SQL_UID |
Jedinečný identifikátor (UID) služby Azure SQL Database |
<sql-username> |
AZURE_SQL_PASSWORD |
Heslo služby Azure SQL Database |
<sql-password> |
| Výchozí název proměnné prostředí |
Popis |
Ukázková hodnota |
AZURE_SQL_HOST |
Hostitel Azure SQL Database |
<sql-server>.database.windows.net |
AZURE_SQL_PORT |
Port služby Azure SQL Database |
1433 |
AZURE_SQL_DATABASE |
Databáze Azure SQL |
<sql-database> |
AZURE_SQL_USERNAME |
Uživatelské jméno služby Azure SQL Database |
<sql-username> |
AZURE_SQL_PASSWORD |
Heslo služby Azure SQL Database |
<sql-password> |
| Výchozí název proměnné prostředí |
Popis |
Ukázková hodnota |
AZURE_SQL_HOST |
Hostitel Azure SQL Database |
<sql-server>.database.windows.net |
AZURE_SQL_PORT |
Port služby Azure SQL Database |
1433 |
AZURE_SQL_DATABASE |
Databáze Azure SQL |
<sql-database> |
AZURE_SQL_USERNAME |
Uživatelské jméno služby Azure SQL Database |
<sql-username> |
AZURE_SQL_PASSWORD |
Heslo služby Azure SQL Database |
<sql-password> |
Ukázkový kód
Podívejte se na následující kroky a kód pro připojení ke službě Azure SQL Database pomocí připojovacího řetězce.
Nainstalujte závislosti.
dotnet add package Microsoft.Data.SqlClient
Získejte připojovací řetězec Azure SQL Database z proměnné prostředí přidané konektorem služby.
using Microsoft.Data.SqlClient;
string connectionString =
Environment.GetEnvironmentVariable("AZURE_SQL_CONNECTIONSTRING")!;
using var connection = new SqlConnection(connectionString);
connection.Open();
Do souboru pom.xml přidejte následující závislosti:
<dependency>
<groupId>com.microsoft.sqlserver</groupId>
<artifactId>mssql-jdbc</artifactId>
<version>10.2.0.jre11</version>
</dependency>
Získejte připojovací řetězec Azure SQL Database z proměnné prostředí přidané konektorem služby.
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
import com.microsoft.sqlserver.jdbc.SQLServerDataSource;
public class Main {
public static void main(String[] args) {
String connectionString = System.getenv("AZURE_SQL_CONNECTIONSTRING");
SQLServerDataSource ds = new SQLServerDataSource();
ds.setURL(connectionString);
try (Connection connection = ds.getConnection()) {
System.out.println("Connected successfully.");
} catch (SQLException e) {
e.printStackTrace();
}
}
}
- Do souboru pom.xml přidejte závislost:
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.azure.spring</groupId>
<artifactId>spring-cloud-azure-dependencies</artifactId>
<version>5.20.0</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
- Nastavte aplikaci Spring. Konfigurace připojení jsou do aplikací Spring přidávány prostřednictvím konektoru Service Connector.
Nainstalujte závislosti.
python -m pip install pyodbc
Získejte konfigurace připojení ke službě Azure SQL Database z proměnné prostředí přidané konektorem služby.
import os;
import pyodbc
server = os.getenv('AZURE_SQL_SERVER')
port = os.getenv('AZURE_SQL_PORT')
database = os.getenv('AZURE_SQL_DATABASE')
user = os.getenv('AZURE_SQL_USER')
password = os.getenv('AZURE_SQL_PASSWORD')
connString = f'Driver={{ODBC Driver 18 for SQL Server}};Server={server},{port};Database={database};UID={user};PWD={password};Encrypt=yes;TrustServerCertificate=no;Connection Timeout=30'
conn = pyodbc.connect(connString)
Nainstalujte závislosti.
pip install django
pip install pyodbc
Ve souboru nastavení získáte konfigurace pro připojení k databázi Azure SQL z proměnné prostředí, kterou přidal Service Connector.
# in your setting file, eg. settings.py
server = os.getenv('AZURE_SQL_HOST')
port = os.getenv('AZURE_SQL_PORT')
database = os.getenv('AZURE_SQL_NAME')
user = os.getenv('AZURE_SQL_USER')
password = os.getenv('AZURE_SQL_PASSWORD')
DATABASES = {
'default': {
'ENGINE': 'sql_server.pyodbc',
'NAME': database,
'USER': user,
'PASSWORD': password,
'HOST': server,
'PORT': port,
'OPTIONS': {
'driver': 'ODBC Driver 13 for SQL Server',
},
},
}
Nainstalujte závislost.
go install github.com/microsoft/go-mssqldb@latest
Získejte připojovací řetězec Azure SQL Database z proměnné prostředí přidané konektorem Service Connector.
import (
"context"
"database/sql"
"fmt"
"log"
"github.com/microsoft/go-mssqldb/azuread"
)
connectionString := os.Getenv("AZURE_SQL_CONNECTIONSTRING")
db, err = sql.Open(azuread.DriverName, connString)
if err != nil {
log.Fatal("Error creating connection pool: " + err.Error())
}
log.Printf("Connected!\n")
- Nainstalujte závislosti.
npm install mssql
- Získejte konfigurace připojení ke službě Azure SQL Database z proměnných prostředí přidaných konektorem služby.
import sql from 'mssql';
const server = process.env.AZURE_SQL_SERVER;
const database = process.env.AZURE_SQL_DATABASE;
const port = parseInt(process.env.AZURE_SQL_PORT);
const username = process.env.AZURE_SQL_USERNAME;
const password = process.env.AZURE_SQL_PASSWORD;
const config = {
server,
port,
database,
user,
password,
options: {
encrypt: true
}
};
this.poolconnection = await sql.connect(config);
Stáhněte si ovladače Microsoftu pro PHP pro SQL Server. Další informace najdete v tématu Začínáme s ovladači Microsoftu pro PHP pro SQL Server.
Získejte konfigurace připojení ke službě Azure SQL Database z proměnných prostředí přidaných konektorem služby.
<?php
$server = getenv("AZURE_SQL_SERVERNAME");
$database = getenv("AZURE_SQL_DATABASE");
$user = getenv("AZURE_SQL_UID");
$password = getenv("AZURE_SQL_PASSWORD");
$connectionOptions = array(
"Database" => database,
"Uid" => user,
"PWD" => password
);
$conn = sqlsrv_connect($serverName, $connectionOptions);
?>
Stáhněte ovladač Ruby pro SQL Server. Další informace najdete v tématu Konfigurace vývojového prostředí pro vývoj v Ruby.
Získejte konfigurace připojení ke službě Azure SQL Database z proměnných prostředí přidaných konektorem služby.
client = TinyTds::Client.new username: ENV['AZURE_SQL_USERNAME'], password: ENV['AZURE_SQL_PASSWORD'],
host: ENV['AZURE_SQL_HOST'], port: ENV['AZURE_SQL_PORT'],
database: ENV['AZURE_SQL_DATABASE'], azure:true
Další informace naleznete v tématu Domovská stránka pro programování klientů na Microsoft SQL Server.
Principál služby
| Výchozí název proměnné prostředí |
Popis |
Příklad hodnoty |
AZURE_SQL_CLIENTID |
ID klienta |
<client-ID> |
AZURE_SQL_CLIENTSECRET |
Vaše klientské tajemství |
<client-secret> |
AZURE_SQL_TENANTID |
ID vašeho tenanta |
<tenant-ID> |
AZURE_SQL_CONNECTIONSTRING |
Azure SQL Database připojovací řetězec |
Data Source=<sql-server>.database.windows.net,1433;Initial Catalog=<sql-database>;User ID=<client-Id>;Password=<client-secret>;Authentication=ActiveDirectoryServicePrincipal |
| Výchozí název proměnné prostředí |
Popis |
Ukázková hodnota |
AZURE_SQL_CONNECTIONSTRING |
Azure SQL Database připojovací řetězec |
jdbc:sqlserver://<sql-server>.database.windows.net:1433;databaseName=<sql-database>;user=<client-Id>;password=<client-secret>;authentication=ActiveDirectoryServicePrincipal; |
| Výchozí název proměnné prostředí |
Popis |
Ukázková hodnota |
spring.datasource.url |
Adresa URL zdroje dat azure SQL Database |
jdbc:sqlserver://<sql-server>.database.windows.net:1433;databaseName=<sql-db>;authentication=ActiveDirectoryServicePrincipal; |
spring.datasource.username |
Uživatelské jméno zdroje dat ve službě Azure SQL Database |
<client-Id> |
spring.datasource.password |
Heslo zdroje dat Azure SQL Database |
<client-Secret> |
| Výchozí název proměnné prostředí |
Popis |
Ukázková hodnota |
AZURE_SQL_SERVER |
Server databáze Azure SQL |
<sql-server>.database.windows.net |
AZURE_SQL_PORT |
Port služby Azure SQL Database |
1433 |
AZURE_SQL_DATABASE |
Databáze Azure SQL |
<sql-database> |
AZURE_SQL_USER |
Uživatel azure SQL Database |
your Client Id |
AZURE_SQL_AUTHENTICATION |
Ověřování Azure SQL |
ActiveDirectoryServerPrincipal |
AZURE_SQL_PASSWORD |
Heslo služby Azure SQL Database |
your Client Secret |
| Výchozí název proměnné prostředí |
Popis |
Ukázková hodnota |
AZURE_SQL_SERVER |
Server Azure SQL Database |
<sql-server>.database.windows.net |
AZURE_SQL_PORT |
Port služby Azure SQL Database |
1433 |
AZURE_SQL_DATABASE |
Databáze Azure SQL |
<sql-database> |
AZURE_SQL_AUTHENTICATIONTYPE |
Typ ověřování Azure SQL Database |
azure-active-directory-default |
AZURE_SQL_CLIENTID |
ID klienta azure SQL Database |
<your Client ID> |
AZURE_SQL_CLIENTSECRET |
Tajný klíč klienta služby Azure SQL Database |
<your Client Secret > |
AZURE_SQL_TENANTID |
ID tenanta služby Azure SQL Database |
<your Tenant ID> |
| Výchozí název proměnné prostředí |
Popis |
Ukázková hodnota |
AZURE_SQL_HOST |
Server služby Azure SQL Database |
<sql-server>.database.windows.net |
AZURE_SQL_PORT |
Port služby Azure SQL Database |
1433 |
AZURE_SQL_DATABASE |
Databáze Azure SQL Database |
<sql-database> |
AZURE_SQL_AUTHENTICATION |
Typ ověřování azure SQL Database |
azure-active-directory-default |
AZURE_SQL_USERNAME |
ID klienta azure SQL Database |
<your Client ID> |
AZURE_SQL_PASSWORD |
Tajný klíč klienta služby Azure SQL Database |
<your Client Secret > |
Ukázkový kód
Informace o připojení ke službě Azure SQL Database pomocí instančního objektu najdete v následujících krocích a kódu.
Nainstalujte závislosti.
dotnet add package Microsoft.Data.SqlClient
Získejte připojovací řetězec Azure SQL Database z proměnné prostředí přidané konektorem služby.
using Microsoft.Data.SqlClient;
string connectionString =
Environment.GetEnvironmentVariable("AZURE_SQL_CONNECTIONSTRING")!;
using var connection = new SqlConnection(connectionString);
connection.Open();
Další informace najdete v tématu Použití ověřování spravované identity služby Active Directory.
Do souboru pom.xml přidejte následující závislosti:
<dependency>
<groupId>com.microsoft.sqlserver</groupId>
<artifactId>mssql-jdbc</artifactId>
<version>10.2.0.jre11</version>
</dependency>
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-identity</artifactId>
<version>1.7.0</version>
</dependency>
Získejte připojovací řetězec Azure SQL Database z proměnné prostředí přidané pomocí Service Connector.
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
import com.microsoft.sqlserver.jdbc.SQLServerDataSource;
public class Main {
public static void main(String[] args) {
// AZURE_SQL_CONNECTIONSTRING should be one of the following:
// For system-assigned managed identity: "jdbc:sqlserver://{SQLName}.database.windows.net:1433;databaseName={SQLDbName};authentication=ActiveDirectoryMSI;"
// For user-assigned managed identity: "jdbc:sqlserver://{SQLName}.database.windows.net:1433;databaseName={SQLDbName};msiClientId={UserAssignedMiClientId};authentication=ActiveDirectoryMSI;"
// For service principal: "jdbc:sqlserver://{SQLName}.database.windows.net:1433;databaseName={SQLDbName};user={ServicePrincipalClientId};password={spSecret};authentication=ActiveDirectoryServicePrincipal;"
String connectionString = System.getenv("AZURE_SQL_CONNECTIONSTRING");
SQLServerDataSource ds = new SQLServerDataSource();
ds.setURL(connectionString);
try (Connection connection = ds.getConnection()) {
System.out.println("Connected successfully.");
} catch (SQLException e) {
e.printStackTrace();
}
}
}
Další informace najdete v tématu Připojení k databázím Azure ze služby App Service bez tajných kódů pomocí spravované identity.
Pokud pro aplikaci Spring vytvoříte připojení s volbou --client-type springboot, Service Connector nastaví vlastnosti spring.datasource.url ve formátu hodnoty jdbc:sqlserver://<sql-server>.database.windows.net:1433;databaseName=<sql-db>;authentication=ActiveDirectoryMSI; pro Azure Spring Apps.
Aktualizujte aplikaci podle kurzu Migrace aplikace v Javě tak, aby používala připojení bez hesla se službou Azure SQL Database. Nezapomeňte odebrat spring.datasource.password vlastnost konfigurace, pokud byla nastavena dříve, a přidat správné závislosti.
Nainstalujte závislosti.
python -m pip install pyodbc
Získejte konfigurace připojení ke službě Azure SQL Database z proměnné prostředí přidané konektorem služby. Při použití následujícího kódu odkomentujte část fragmentu kódu pro typ ověřování, který chcete použít. Pokud používáte Azure Container Apps jako výpočetní službu nebo připojovací řetězec ve fragmentu kódu nefunguje, přečtěte si článek Migrování aplikace v Pythonu pro použití bezheslového připojení k Azure SQL Database pomocí přístupového tokenu.
import os
import pyodbc
server = os.getenv('AZURE_SQL_SERVER')
port = os.getenv('AZURE_SQL_PORT')
database = os.getenv('AZURE_SQL_DATABASE')
authentication = os.getenv('AZURE_SQL_AUTHENTICATION')
# Uncomment the following lines corresponding to the authentication type you want to use.
# For system-assigned managed identity.
# connString = f'Driver={{ODBC Driver 18 for SQL Server}};Server=tcp:{server},{port};Database={database};Authentication={authentication};Encrypt=yes;TrustServerCertificate=no;Connection Timeout=30'
# For user-assigned managed identity.
# clientID = os.getenv('AZURE_SQL_USER')
# connString = f'Driver={{ODBC Driver 18 for SQL Server}};Server=tcp:{server},{port};Database={database};UID={clientID};Authentication={authentication};Encrypt=yes;TrustServerCertificate=no;Connection Timeout=30'
# For service principal.
# user = os.getenv('AZURE_SQL_USER')
# password = os.getenv('AZURE_SQL_PASSWORD')
# connString = f'Driver={{ODBC Driver 18 for SQL Server}};Server=tcp:{server},{port};Database={database};UID={user};PWD={password};Authentication={authentication};Encrypt=yes;TrustServerCertificate=no;Connection Timeout=30'
conn = pyodbc.connect(connString)
- Nainstalujte závislosti.
npm install mssql
- Získejte konfigurace připojení ke službě Azure SQL Database z proměnných prostředí přidaných konektorem služby. Při použití následujícího kódu odkomentujte část fragmentu kódu pro typ ověřování, který chcete použít.
import sql from 'mssql';
const server = process.env.AZURE_SQL_SERVER;
const database = process.env.AZURE_SQL_DATABASE;
const port = parseInt(process.env.AZURE_SQL_PORT);
const authenticationType = process.env.AZURE_SQL_AUTHENTICATIONTYPE;
// Uncomment the following lines corresponding to the authentication type you want to use.
// For system-assigned managed identity.
// const config = {
// server,
// port,
// database,
// authentication: {
// type: authenticationType
// },
// options: {
// encrypt: true
// }
// };
// For user-assigned managed identity.
// const clientId = process.env.AZURE_SQL_CLIENTID;
// const config = {
// server,
// port,
// database,
// authentication: {
// type: authenticationType
// },
// options: {
// encrypt: true,
// clientId: clientId
// }
// };
// For service principal.
// const clientId = process.env.AZURE_SQL_CLIENTID;
// const clientSecret = process.env.AZURE_SQL_CLIENTSECRET;
// const tenantId = process.env.AZURE_SQL_TENANTID;
// const config = {
// server,
// port,
// database,
// authentication: {
// type: authenticationType
// },
// options: {
// encrypt: true,
// clientId: clientId,
// clientSecret: clientSecret,
// tenantId: tenantId
// }
// };
this.poolconnection = await sql.connect(config);
Další informace naleznete v tématu Domovská stránka pro programování klientů na Microsoft SQL Server.
Další kroky
Další informace o konektoru Service Connector najdete v níže uvedeném kurzu.