Integrace azure SQL Database se službou Service Připojení or
Článek
Tato stránka ukazuje podporované metody ověřování a klienty a ukazuje ukázkový kód, který můžete použít k připojení výpočetních služeb ke službě Azure SQL Database pomocí služby Připojení or. Stále se můžete připojit ke službě Azure SQL Database pomocí jiných metod. Tato stránka také zobrazuje výchozí názvy proměnných prostředí a hodnoty, které získáte při vytváření připojení služby.
Podporované výpočetní služby
Služba Připojení or 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 Functions
Azure Container Apps
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í služby Připojení or. "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
Yes
Go
No
No
Ano
No
Java
Ano
Ano
Ano
Yes
Java – Spring Boot
Ano
Ano
Ano
Yes
Node.js
Ano
Ano
Ano
Yes
PHP
No
No
Ano
No
Python
Ano
Ano
Ano
Yes
Python – Django
No
No
Ano
No
Ruby
No
No
Ano
No
Nic
Ano
Ano
Ano
Yes
Tato tabulka udává, že metoda Secret/připojovací řetězec je podporovaná pro všechny typy klientů. Spravované identity přiřazené systémem, spravovaná identita přiřazená uživatelem a instanční metody jsou podporované pro klienty .NET, Java, Java – Spring Boot, Node.js, Python a None. Tyto metody nejsou podporovány pro typy klientů Go, PHP, Django a Ruby.
Poznámka:
Spravovaná identita přiřazená systémem, spravovaná identita přiřazená uživatelem a instanční objekt se podporují jenom 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 článku o interních informacích o službě Připojení.
Získejte připojovací řetězec Azure SQL Database z proměnné prostředí přidané službou Service Připojení or.
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:
Získejte připojovací řetězec Azure SQL Database z proměnné prostředí přidané službou Service Připojení or.
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();
}
}
}
Pokud pro aplikaci Spring vytvoříte připojení s možností --client-type springboot, service Připojení or nastaví vlastnosti spring.datasource.url s formátem jdbc:sqlserver://<sql-server>.database.windows.net:1433;databaseName=<sql-db>;authentication=ActiveDirectoryMSI; hodnoty na Azure Spring Apps.
Získejte konfigurace připojení azure SQL Database z proměnné prostředí přidané službou Service Připojení or. 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 fragmentu kódu nefunguje, přečtěte si článek o migraci aplikace Pythonu, která k připojení ke službě Azure SQL Database používá bez hesla připojení ke službě 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 according to the authentication type.
# 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 službou Service Připojení or. Při použití následujícího kódu odkomentujte část fragmentu kódu pro typ ověřování, který chcete použít.
V jiných jazycích použijte vlastnosti připojení, které service Připojení or nastaví na proměnné prostředí pro připojení databáze. Podrobnosti o proměnné prostředí najdete v tématu Integrace služby Azure SQL Database se službou Připojení or.
Data Source=<sql-server>.database.windows.net,1433;Initial Catalog=<sql-database>;User ID=<identity-client-ID>;Authentication=ActiveDirectoryManagedIdentity
Získejte připojovací řetězec Azure SQL Database z proměnné prostředí přidané službou Service Připojení or.
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:
Získejte připojovací řetězec Azure SQL Database z proměnné prostředí přidané službou Service Připojení or.
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();
}
}
}
Pokud pro aplikaci Spring vytvoříte připojení s možností --client-type springboot, service Připojení or nastaví vlastnosti spring.datasource.url s formátem jdbc:sqlserver://<sql-server>.database.windows.net:1433;databaseName=<sql-db>;authentication=ActiveDirectoryMSI; hodnoty na Azure Spring Apps.
Získejte konfigurace připojení azure SQL Database z proměnné prostředí přidané službou Service Připojení or. 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 fragmentu kódu nefunguje, přečtěte si článek o migraci aplikace Pythonu, která k připojení ke službě Azure SQL Database používá bez hesla připojení ke službě 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 according to the authentication type.
# 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 službou Service Připojení or. Při použití následujícího kódu odkomentujte část fragmentu kódu pro typ ověřování, který chcete použít.
V jiných jazycích použijte vlastnosti připojení, které service Připojení or nastaví na proměnné prostředí pro připojení databáze. Podrobnosti o proměnné prostředí najdete v tématu Integrace služby Azure SQL Database se službou Připojení or.
Získejte připojovací řetězec Azure SQL Database z proměnné prostředí přidané službou Service Připojení or.
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:
V jiných jazycích použijte vlastnosti připojení, které service Připojení or nastaví na proměnné prostředí pro připojení databáze. Podrobnosti o proměnné prostředí najdete v tématu Integrace služby Azure SQL Database se službou Připojení or.
Data Source=<sql-server>.database.windows.net,1433;Initial Catalog=<sql-database>;User ID=<client-Id>;Password=<client-secret>;Authentication=ActiveDirectoryServicePrincipal
Získejte připojovací řetězec Azure SQL Database z proměnné prostředí přidané službou Service Připojení or.
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:
Získejte připojovací řetězec Azure SQL Database z proměnné prostředí přidané službou Service Připojení or.
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();
}
}
}
Pokud pro aplikaci Spring vytvoříte připojení s možností --client-type springboot, service Připojení or nastaví vlastnosti spring.datasource.url s formátem jdbc:sqlserver://<sql-server>.database.windows.net:1433;databaseName=<sql-db>;authentication=ActiveDirectoryMSI; hodnoty na Azure Spring Apps.
Získejte konfigurace připojení azure SQL Database z proměnné prostředí přidané službou Service Připojení or. 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 fragmentu kódu nefunguje, přečtěte si článek o migraci aplikace Pythonu, která k připojení ke službě Azure SQL Database používá bez hesla připojení ke službě 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 according to the authentication type.
# 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 službou Service Připojení or. Při použití následujícího kódu odkomentujte část fragmentu kódu pro typ ověřování, který chcete použít.
V jiných jazycích použijte vlastnosti připojení, které service Připojení or nastaví na proměnné prostředí pro připojení databáze. Podrobnosti o proměnné prostředí najdete v tématu Integrace služby Azure SQL Database se službou Připojení or.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu: https://aka.ms/ContentUserFeedback.