Ez a cikk a támogatott hitelesítési módszereket, ügyfeleket és mintakódot ismerteti, amelyek segítségével az alkalmazásokat a Service Connector használatával csatlakoztathatja az Azure SQL Database-hez. Ebben a cikkben a szolgáltatáskapcsolatok létrehozásakor kapott alapértelmezett környezeti változóneveket, értékeket és konfigurációt is megtalálja.
Támogatott számítási szolgáltatások
A Service Connector a következő számítási szolgáltatásokat csatlakoztathatja az Azure SQL Database-hez:
- Azure App Service
- Azure Container-alkalmazások
- Azure Functions
- Azure Kubernetes Service (AKS)
- Azure Spring Apps
Támogatott hitelesítési típusok és ügyfelek
Az alábbi táblázat azt mutatja be, hogy a hitelesítési módszerek és az ügyfelek mely kombinációi támogatottak a számítási szolgáltatás azure SQL Database-hez való csatlakoztatásához a Service Connector használatával. Az "Igen" azt jelzi, hogy a kombináció támogatott, míg a "Nem" azt jelzi, hogy nem támogatott.
| Ügyfél típusa |
Rendszer által hozzárendelt felügyelt identitás |
Felhasználó által hozzárendelt felügyelt identitás |
Titkos kód/kapcsolati sztring |
Szolgáltatásnév |
| .NET |
Igen |
Igen |
Igen |
Igen |
| Menj |
Nem |
Nem |
Igen |
Nem |
| Java |
Igen |
Igen |
Igen |
Igen |
| Java – Spring Boot |
Igen |
Igen |
Igen |
Igen |
| Node.js |
Igen |
Igen |
Igen |
Igen |
| PHP |
Nem |
Nem |
Igen |
Nem |
| Python |
Igen |
Igen |
Igen |
Igen |
| Python – Django |
Nem |
Nem |
Igen |
Nem |
| Ruby |
Nem |
Nem |
Igen |
Nem |
| Egyik sem |
Igen |
Igen |
Igen |
Igen |
Feljegyzés
A rendszer által hozzárendelt felügyelt identitás, a felhasználó által hozzárendelt felügyelt identitás és a szolgáltatásnév-hitelesítés csak az Azure CLI-n támogatott.
Alapértelmezett környezeti változónevek vagy alkalmazástulajdonságok és mintakód
Az alábbi kapcsolati adatok segítségével csatlakoztathatja a számítási szolgáltatásokat az Azure SQL Database-hez. Az alábbi példákban cserélje le a helyőrző szövegeket<sql-server>, <sql-database><sql-username>majd <sql-password> a saját kiszolgálónevét, adatbázisnevét, felhasználói azonosítóját és jelszavát. Az elnevezési konvenciókról a Service Connector belsős cikkében talál további információt.
Rendszer által hozzárendelt felügyelt identitás
| Alapértelmezett környezeti változó neve |
Leírás |
Mintaérték |
AZURE_SQL_CONNECTIONSTRING |
Azure SQL Database Kapcsolati Karakterlánc |
Data Source=<sql-server>.database.windows.net,1433;Initial Catalog=<sql-database>;Authentication=ActiveDirectoryManagedIdentity |
| Alapértelmezett környezeti változó neve |
Leírás |
Mintaérték |
AZURE_SQL_CONNECTIONSTRING |
Azure SQL Database kapcsolati karakterlánc |
jdbc:sqlserver://<sql-server>.database.windows.net:1433;databaseName=<sql-database>;authentication=ActiveDirectoryMSI; |
| Alapértelmezett környezeti változó neve |
Leírás |
Mintaérték |
spring.datasource.url |
Azure SQL Database-adatforrás URL |
jdbc:sqlserver://<sql-server>.database.windows.net:1433;databaseName=<sql-db>;authentication=ActiveDirectoryMSI; |
| Alapértelmezett környezeti változó neve |
Leírás |
Mintaérték |
AZURE_SQL_SERVER |
Azure SQL Database-kiszolgáló |
<sql-server>.database.windows.net |
AZURE_SQL_PORT |
Azure SQL Database-port |
1433 |
AZURE_SQL_DATABASE |
Azure SQL Database-adatbázis |
<sql-database> |
AZURE_SQL_AUTHENTICATION |
Azure SQL-hitelesítés |
ActiveDirectoryMsi |
| Alapértelmezett környezeti változó neve |
Leírás |
Mintaérték |
AZURE_SQL_SERVER |
Azure SQL Database-kiszolgáló |
<sql-server>.database.windows.net |
AZURE_SQL_PORT |
Azure SQL Database-port |
1433 |
AZURE_SQL_DATABASE |
Azure SQL Database-adatbázis |
<sql-database> |
AZURE_SQL_AUTHENTICATIONTYPE |
Az Azure SQL Database hitelesítési típusa |
azure-active-directory-default |
| Alapértelmezett környezeti változó neve |
Leírás |
Mintaérték |
AZURE_SQL_HOST |
Azure SQL Database-kiszolgáló |
<sql-server>.database.windows.net |
AZURE_SQL_PORT |
Azure SQL Database-port |
1433 |
AZURE_SQL_DATABASE |
Azure SQL Database-adatbázis |
<sql-database> |
AZURE_SQL_AUTHENTICATION |
Az Azure SQL Database hitelesítési típusa |
azure-active-directory-default |
Mintakód
Tekintse meg az alábbi lépéseket és kódot az Azure SQL Database-hez való csatlakozáshoz egy rendszer által hozzárendelt felügyelt identitás használatával.
Telepítse a függőségeket.
dotnet add package Microsoft.Data.SqlClient
Szerezze be az Azure SQL Database kapcsolati sztringet a Service Connector által hozzáadott környezeti változóból.
using Microsoft.Data.SqlClient;
string connectionString =
Environment.GetEnvironmentVariable("AZURE_SQL_CONNECTIONSTRING")!;
using var connection = new SqlConnection(connectionString);
connection.Open();
További információ: Az Active Directory felügyelt identitás hitelesítésének használata.
Adja hozzá a következő függőségeket a pom.xml fájlhoz:
<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>
Szerezze be az Azure SQL Database kapcsolati karaktersort a Service Connector által hozzáadott környezeti változóból.
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();
}
}
}
További információ: Csatlakozás azure-adatbázisokhoz az App Service-ből titkos kulcsok nélkül felügyelt identitás használatával.
Spring-alkalmazások esetén, ha egy opcióval --client-type springboot hoz létre kapcsolatot, a Service Connector az Azure Spring Apps számára a tulajdonságokat spring.datasource.url érték formátummal jdbc:sqlserver://<sql-server>.database.windows.net:1433;databaseName=<sql-db>;authentication=ActiveDirectoryMSI;-ra állítja be.
Frissítse az alkalmazást a Java-alkalmazások áttelepítése jelszó nélküli kapcsolatok használatára az Azure SQL Database-lel című oktatóanyagot követve. Ne felejtse el eltávolítani a spring.datasource.password konfigurációs tulajdonságot, ha korábban be lett állítva, és adja hozzá a megfelelő függőségeket.
Telepítse a függőségeket.
python -m pip install pyodbc
Kérje le az Azure SQL Database kapcsolatkonfigurációit a Service Connector által hozzáadott környezeti változóból. Az alábbi kód használatakor bontsa ki a kódrészlet azon részét, amely a használni kívánt hitelesítési típushoz tartozik. Ha számítási szolgáltatásként használja az Azure Container Apps szolgáltatást, vagy a kódrészletben található kapcsolati sztring nem működik, tekintse meg a "Python-alkalmazás migrálása jelszó nélküli kapcsolat használatához az Azure SQL Database-zel" című útmutatót az Azure SQL Database-hez való csatlakozáshoz hozzáférési jogkivonat segítségével.
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)
- Telepítse a függőségeket.
npm install mssql
- Kérje le az Azure SQL Database kapcsolatkonfigurációit a Service Connector által hozzáadott környezeti változókból. Az alábbi kód használatakor bontsa ki a kódrészlet azon részét, amely a használni kívánt hitelesítési típushoz tartozik.
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);
További információ: Kezdőlap a Microsoft SQL Server ügyfélprogramozásához.
Felhasználó által hozzárendelt felügyelt identitás
| Alapértelmezett környezeti változó neve |
Leírás |
Mintaérték |
AZURE_SQL_CONNECTIONSTRING |
Azure SQL Database kapcsolati karakterlánc |
Data Source=<sql-server>.database.windows.net,1433;Initial Catalog=<sql-database>;User ID=<identity-client-ID>;Authentication=ActiveDirectoryManagedIdentity |
| Alapértelmezett környezeti változó neve |
Leírás |
Mintaérték |
AZURE_SQL_CONNECTIONSTRING |
Azure SQL Database kapcsolati karakterlánc |
jdbc:sqlserver://<sql-server>.database.windows.net:1433;databaseName=<sql-database>;msiClientId=<msiClientId>;authentication=ActiveDirectoryMSI; |
| Alapértelmezett környezeti változó neve |
Leírás |
Mintaérték |
spring.datasource.url |
Azure SQL Database-adatforrás URL-je |
jdbc:sqlserver://<sql-server>.database.windows.net:1433;databaseName=<sql-db>;msiClientId=<msiClientId>;authentication=ActiveDirectoryMSI; |
| Alapértelmezett környezeti változó neve |
Leírás |
Mintaérték |
AZURE_SQL_SERVER |
Azure SQL Database-kiszolgáló |
<sql-server>.database.windows.net |
AZURE_SQL_PORT |
Azure SQL Database-port |
1433 |
AZURE_SQL_DATABASE |
Azure SQL Database-adatbázis |
<sql-database> |
AZURE_SQL_USER |
Azure SQL Database-felhasználó |
Object (principal) ID |
AZURE_SQL_AUTHENTICATION |
Azure SQL-hitelesítés |
ActiveDirectoryMsi |
| Alapértelmezett környezeti változó neve |
Leírás |
Mintaérték |
AZURE_SQL_SERVER |
Azure SQL Database-kiszolgáló |
<sql-server>.database.windows.net |
AZURE_SQL_PORT |
Azure SQL Database-port |
1433 |
AZURE_SQL_DATABASE |
Azure SQL Database-adatbázis |
<sql-database> |
AZURE_SQL_AUTHENTICATIONTYPE |
Az Azure SQL Database hitelesítési típusa |
azure-active-directory-default |
AZURE_SQL_CLIENTID |
Az Azure SQL Database ügyfélazonosítója |
<identity-client-ID> |
| Alapértelmezett környezeti változó neve |
Leírás |
Mintaérték |
AZURE_SQL_HOST |
Azure SQL Database-kiszolgáló |
<sql-server>.database.windows.net |
AZURE_SQL_PORT |
Azure SQL Database-port |
1433 |
AZURE_SQL_DATABASE |
Azure SQL Database-adatbázis |
<sql-database> |
AZURE_SQL_AUTHENTICATION |
Az Azure SQL Database hitelesítési típusa |
azure-active-directory-default |
AZURE_SQL_USERNAME |
Az Azure SQL Database ügyfélazonosítója |
<your Client ID> |
Mintakód
Tekintse meg az alábbi lépéseket és kódot, ha felhasználó által hozzárendelt felügyelt identitással szeretne csatlakozni az Azure SQL Database-hez.
Telepítse a függőségeket.
dotnet add package Microsoft.Data.SqlClient
Kérje le az Azure SQL Database kapcsolati sztringjét a Service Connector által hozzáadott környezeti változóból.
using Microsoft.Data.SqlClient;
string connectionString =
Environment.GetEnvironmentVariable("AZURE_SQL_CONNECTIONSTRING")!;
using var connection = new SqlConnection(connectionString);
connection.Open();
További információ: Az Active Directory felügyelt identitás hitelesítésének használata.
Adja hozzá a következő függőségeket a pom.xml fájlhoz:
<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>
Kérje le az Azure SQL Database kapcsolati karakterláncát a Service Connector által hozzáadott környezeti változóból.
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();
}
}
}
További információ: Csatlakozás azure-adatbázisokhoz az App Service-ből titkos kulcsok nélkül felügyelt identitás használatával.
A Spring-alkalmazás esetén, ha egy opcióval --client-type springboot létrehoz egy kapcsolatot, a Service Connector beállítja a tulajdonságokat spring.datasource.url az érték jdbc:sqlserver://<sql-server>.database.windows.net:1433;databaseName=<sql-db>;authentication=ActiveDirectoryMSI; formátumban az Azure Spring Apps számára.
Frissítse az alkalmazást a Java-alkalmazások áttelepítése jelszó nélküli kapcsolatok használatára az Azure SQL Database-lel című oktatóanyagot követve. Ne felejtse el eltávolítani a spring.datasource.password konfigurációs tulajdonságot, ha korábban be lett állítva, és adja hozzá a megfelelő függőségeket.
Telepítse a függőségeket.
python -m pip install pyodbc
Kérje le az Azure SQL Database kapcsolatkonfigurációit a Service Connector által hozzáadott környezeti változóból. Az alábbi kód használatakor bontsa ki a kódrészlet azon részét, amely a használni kívánt hitelesítési típushoz tartozik. Ha az Azure Container Apps szolgáltatást használja számítási szolgáltatásként, vagy a kódrészletben szereplő kapcsolati sztring nem működik, tekintse meg a Python-alkalmazás migrálását az Azure SQL Database számára, jelszó nélküli kapcsolatok használatához hozzáférési jogkivonattal leírást.
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)
- Telepítse a függőségeket.
npm install mssql
- Kérje le az Azure SQL Database kapcsolatkonfigurációit a Service Connector által hozzáadott környezeti változókból. Az alábbi kód használatakor bontsa ki a kódrészlet azon részét, amely a használni kívánt hitelesítési típushoz tartozik.
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);
További információ: Kezdőlap a Microsoft SQL Server ügyfélprogramozásához.
Csatlakozási karakterlánc
Figyelmeztetés
A Microsoft azt javasolja, hogy a legbiztonságosabb hitelesítési folyamatot használja. Az ebben az eljárásban leírt hitelesítési folyamat nagyon nagy megbízhatóságot igényel az alkalmazásban, és olyan kockázatokat hordoz, amelyek más folyamatokban nem jelennek meg. Ezt a folyamatot csak akkor érdemes használni, ha más biztonságosabb folyamatok, például a felügyelt identitások nem életképesek.
| Alapértelmezett környezeti változó neve |
Leírás |
Mintaérték |
AZURE_SQL_CONNECTIONSTRING |
Azure SQL Database kapcsolati karaktersorozat |
Data Source=<sql-server>.database.windows.net,1433;Initial Catalog=<sql-database>;Password=<sql-password> |
| Alapértelmezett környezeti változó neve |
Leírás |
Mintaérték |
AZURE_SQL_CONNECTIONSTRING |
Azure SQL Database kapcsolati karakterlánc |
jdbc:sqlserver://<sql-server>.database.windows.net:1433;databaseName=<sql-database>;user=<sql-username>;password=<sql-password>; |
| Alapértelmezett környezeti változó neve |
Leírás |
Mintaérték |
spring.datasource.url |
Azure SQL Database adatforrás URL |
jdbc:sqlserver://<sql-server>.database.windows.net:1433;databaseName=<sql-db>; |
spring.datasource.username |
Azure SQL Database-adatforrás felhasználóneve |
<sql-user> |
spring.datasource.password |
Azure SQL Database-adatforrás jelszava |
<sql-password> |
| Alapértelmezett környezeti változó neve |
Leírás |
Mintaérték |
AZURE_SQL_SERVER |
Azure SQL Database-kiszolgáló |
<sql-server>.database.windows.net |
AZURE_SQL_PORT |
Azure SQL-adatbázis portja |
1433 |
AZURE_SQL_DATABASE |
Azure SQL Database-adatbázis |
<sql-database> |
AZURE_SQL_USER |
Azure SQL Database-felhasználó |
<sql-username> |
AZURE_SQL_PASSWORD |
Azure SQL Database-jelszó |
<sql-password> |
| Alapértelmezett környezeti változó neve |
Leírás |
Mintaérték |
AZURE_SQL_HOST |
Azure SQL Database-kiszolgáló |
<sql-server>.database.windows.net |
AZURE_SQL_PORT |
Azure SQL Database-port |
1433 |
AZURE_SQL_NAME |
Az Azure SQL Database neve |
<sql-database> |
AZURE_SQL_USER |
Azure SQL Database-felhasználó |
<sql-username> |
AZURE_SQL_PASSWORD |
Azure SQL Database-jelszó |
<sql-password> |
| Alapértelmezett környezeti változó neve |
Leírás |
Mintaérték |
AZURE_SQL_CONNECTIONSTRING |
Azure SQL Database kapcsolati karakterlánc |
server=<sql-server>.database.windows.net;port=1433;database=<sql-database>;user id=<sql-username>;password=<sql-password>; |
| Alapértelmezett környezeti változó neve |
Leírás |
Mintaérték |
AZURE_SQL_SERVER |
Azure SQL Database-kiszolgáló |
<sql-server>.database.windows.net |
AZURE_SQL_PORT |
Azure SQL Database-port |
1433 |
AZURE_SQL_DATABASE |
Azure SQL Database-adatbázis |
<sql-database> |
AZURE_SQL_USERNAME |
Azure SQL Database-felhasználónév |
<sql-username> |
AZURE_SQL_PASSWORD |
Azure SQL Database-jelszó |
<sql-password> |
| Alapértelmezett környezeti változó neve |
Leírás |
Mintaérték |
AZURE_SQL_SERVERNAME |
Azure SQL Database-kiszolgálónév |
<sql-server>.database.windows.net,1433 |
AZURE_SQL_DATABASE |
Azure SQL Database-adatbázis |
<sql-database> |
AZURE_SQL_UID |
Egyedi Azure SQL Database-azonosító (UID) |
<sql-username> |
AZURE_SQL_PASSWORD |
Azure SQL Database-jelszó |
<sql-password> |
| Alapértelmezett környezeti változó neve |
Leírás |
Mintaérték |
AZURE_SQL_HOST |
Azure SQL Database-szerver |
<sql-server>.database.windows.net |
AZURE_SQL_PORT |
Azure SQL Database-port |
1433 |
AZURE_SQL_DATABASE |
Azure SQL Database-adatbázis |
<sql-database> |
AZURE_SQL_USERNAME |
Azure SQL Database-felhasználónév |
<sql-username> |
AZURE_SQL_PASSWORD |
Azure SQL Database-jelszó |
<sql-password> |
| Alapértelmezett környezeti változó neve |
Leírás |
Mintaérték |
AZURE_SQL_HOST |
Azure SQL Database-kiszolgáló |
<sql-server>.database.windows.net |
AZURE_SQL_PORT |
Azure SQL Database-port |
1433 |
AZURE_SQL_DATABASE |
Azure SQL Database-adatbázis |
<sql-database> |
AZURE_SQL_USERNAME |
Azure SQL Database-felhasználónév |
<sql-username> |
AZURE_SQL_PASSWORD |
Azure SQL Database-jelszó |
<sql-password> |
Mintakód
Az Azure SQL Database-hez való csatlakozáshoz kövesse az alábbi lépéseket és kódot kapcsolati sztringgel.
Telepítse a függőségeket.
dotnet add package Microsoft.Data.SqlClient
Kérje le az Azure SQL Database kapcsolati sztringet a Service Connector által hozzáadott környezeti változóból.
using Microsoft.Data.SqlClient;
string connectionString =
Environment.GetEnvironmentVariable("AZURE_SQL_CONNECTIONSTRING")!;
using var connection = new SqlConnection(connectionString);
connection.Open();
Adja hozzá a következő függőségeket a pom.xml fájlhoz:
<dependency>
<groupId>com.microsoft.sqlserver</groupId>
<artifactId>mssql-jdbc</artifactId>
<version>10.2.0.jre11</version>
</dependency>
Kérje le az Azure SQL Database kapcsolati sztringet a Service Connector által hozzáadott környezeti változóból.
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();
}
}
}
- Függőség hozzáadása a "pom.xml" fájlhoz:
<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>
- Állítsa be a Spring alkalmazást. A kapcsolatkonfigurációkat a Service Connector hozzáadja a Spring Appshez.
Telepítse a függőségeket.
python -m pip install pyodbc
Kérje le az Azure SQL Database kapcsolatkonfigurációit a Service Connector által hozzáadott környezeti változóból.
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)
Telepítse a függőségeket.
pip install django
pip install pyodbc
A beállításfájlban kérje le az Azure SQL Database kapcsolatkonfigurációit a Service Connector által hozzáadott környezeti változóból.
# 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',
},
},
}
Telepítse a függőséget.
go install github.com/microsoft/go-mssqldb@latest
Kérje le az Azure SQL Database kapcsolati karakterláncot a Service Connector által hozzáadott környezeti változóból.
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")
- Telepítse a függőségeket.
npm install mssql
- Kérje le az Azure SQL Database kapcsolatkonfigurációit a Service Connector által hozzáadott környezeti változókból.
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);
Töltse le a Microsoft Drivers for PHP for SQL Servert. További információkért tekintse meg az SQL Server PHP-hez készült Microsoft Drivers használatának első lépéseit.
Kérje le az Azure SQL Database kapcsolatkonfigurációit a Service Connector által hozzáadott környezeti változókból.
<?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);
?>
Töltse le az SQL Serverhez készült Ruby-illesztőprogramot. További információkért tekintse meg a Ruby-fejlesztés fejlesztési környezetének konfigurálását.
Kérje le az Azure SQL Database kapcsolatkonfigurációit a Service Connector által hozzáadott környezeti változókból.
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
További információ: Kezdőlap a Microsoft SQL Server ügyfélprogramozásához.
Szolgáltatásnév
| Alapértelmezett környezeti változó neve |
Leírás |
Példaérték |
AZURE_SQL_CLIENTID |
Az ügyfél azonosítója |
<client-ID> |
AZURE_SQL_CLIENTSECRET |
Az ügyfél titkos kódja |
<client-secret> |
AZURE_SQL_TENANTID |
A bérlő azonosítója |
<tenant-ID> |
AZURE_SQL_CONNECTIONSTRING |
Azure SQL Database kapcsolati karakterlánc |
Data Source=<sql-server>.database.windows.net,1433;Initial Catalog=<sql-database>;User ID=<client-Id>;Password=<client-secret>;Authentication=ActiveDirectoryServicePrincipal |
| Alapértelmezett környezeti változó neve |
Leírás |
Mintaérték |
AZURE_SQL_CONNECTIONSTRING |
Azure SQL Database kapcsolati lánc |
jdbc:sqlserver://<sql-server>.database.windows.net:1433;databaseName=<sql-database>;user=<client-Id>;password=<client-secret>;authentication=ActiveDirectoryServicePrincipal; |
| Alapértelmezett környezeti változó neve |
Leírás |
Mintaérték |
spring.datasource.url |
Azure SQL Database-adatforrás URL |
jdbc:sqlserver://<sql-server>.database.windows.net:1433;databaseName=<sql-db>;authentication=ActiveDirectoryServicePrincipal; |
spring.datasource.username |
Azure SQL Database-adatforrás felhasználóneve |
<client-Id> |
spring.datasource.password |
Azure SQL Database-adatforrás jelszava |
<client-Secret> |
| Alapértelmezett környezeti változó neve |
Leírás |
Mintaérték |
AZURE_SQL_SERVER |
Azure SQL Database-kiszolgáló |
<sql-server>.database.windows.net |
AZURE_SQL_PORT |
Azure SQL Database-port |
1433 |
AZURE_SQL_DATABASE |
Azure SQL Database-adatbázis |
<sql-database> |
AZURE_SQL_USER |
Azure SQL Database-felhasználó |
your Client Id |
AZURE_SQL_AUTHENTICATION |
Azure SQL-hitelesítés |
ActiveDirectoryServerPrincipal |
AZURE_SQL_PASSWORD |
Azure SQL Database-jelszó |
your Client Secret |
| Alapértelmezett környezeti változó neve |
Leírás |
Mintaérték |
AZURE_SQL_SERVER |
Azure SQL Database-kiszolgáló |
<sql-server>.database.windows.net |
AZURE_SQL_PORT |
Azure SQL Database-port |
1433 |
AZURE_SQL_DATABASE |
Azure SQL Database-adatbázis |
<sql-database> |
AZURE_SQL_AUTHENTICATIONTYPE |
Az Azure SQL Database hitelesítési típusa |
azure-active-directory-default |
AZURE_SQL_CLIENTID |
Az Azure SQL Database ügyfélazonosítója |
<your Client ID> |
AZURE_SQL_CLIENTSECRET |
Az Azure SQL Database ügyfélkódja |
<your Client Secret > |
AZURE_SQL_TENANTID |
Azure SQL Database-bérlőazonosító |
<your Tenant ID> |
| Alapértelmezett környezeti változó neve |
Leírás |
Mintaérték |
AZURE_SQL_HOST |
Azure SQL Database-kiszolgáló |
<sql-server>.database.windows.net |
AZURE_SQL_PORT |
Azure SQL Database-port |
1433 |
AZURE_SQL_DATABASE |
Azure SQL Database-adatbázis |
<sql-database> |
AZURE_SQL_AUTHENTICATION |
Az Azure SQL Database hitelesítési típusa |
azure-active-directory-default |
AZURE_SQL_USERNAME |
Az Azure SQL Database ügyfélazonosítója |
<your Client ID> |
AZURE_SQL_PASSWORD |
Az Azure SQL Database ügyfélkódja |
<your Client Secret > |
Mintakód
Az Azure SQL Database szolgáltatásnévvel való csatlakozásához tekintse meg az alábbi lépéseket és kódot.
Telepítse a függőségeket.
dotnet add package Microsoft.Data.SqlClient
Szerezze be az Azure SQL Database kapcsolati sztringet a Service Connector által hozzáadott környezeti változóból.
using Microsoft.Data.SqlClient;
string connectionString =
Environment.GetEnvironmentVariable("AZURE_SQL_CONNECTIONSTRING")!;
using var connection = new SqlConnection(connectionString);
connection.Open();
További információ: Az Active Directory felügyelt identitás hitelesítésének használata.
Adja hozzá a következő függőségeket a pom.xml fájlhoz:
<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>
Szerezze be az Azure SQL Database kapcsolati sztringet a Service Connector által hozzáadott környezeti változóból.
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();
}
}
}
További információ: Csatlakozás azure-adatbázisokhoz az App Service-ből titkos kulcsok nélkül felügyelt identitás használatával.
Spring-alkalmazások esetén, ha egy kapcsolatot hoz létre a --client-type springboot beállítással, a Service Connector az spring.datasource.url tulajdonságokat a jdbc:sqlserver://<sql-server>.database.windows.net:1433;databaseName=<sql-db>;authentication=ActiveDirectoryMSI; értékformátummal állítja be az Azure Spring Appsre.
Frissítse az alkalmazást a Java-alkalmazások áttelepítése jelszó nélküli kapcsolatok használatára az Azure SQL Database-lel című oktatóanyagot követve. Ne felejtse el eltávolítani a spring.datasource.password konfigurációs tulajdonságot, ha korábban be lett állítva, és adja hozzá a megfelelő függőségeket.
Telepítse a függőségeket.
python -m pip install pyodbc
Kérje le az Azure SQL Database kapcsolatkonfigurációit a Service Connector által hozzáadott környezeti változóból. Az alábbi kód használatakor bontsa ki a kódrészlet azon részét, amely a használni kívánt hitelesítési típushoz tartozik. Ha az Azure Container Appst használja számítási szolgáltatásként, vagy a kódrészletben található kapcsolati sztring nem működik, lásd a Python-alkalmazás áthelyezését jelszó nélküli kapcsolatok használatára az Azure SQL Database-zel az Azure SQL Database-hez történő csatlakozáshoz hozzáférési token használatával.
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)
- Telepítse a függőségeket.
npm install mssql
- Kérje le az Azure SQL Database kapcsolatkonfigurációit a Service Connector által hozzáadott környezeti változókból. Az alábbi kód használatakor bontsa ki a kódrészlet azon részét, amely a használni kívánt hitelesítési típushoz tartozik.
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);
További információ: Kezdőlap a Microsoft SQL Server ügyfélprogramozásához.
Következő lépések
A Service Connectorról az alábbi oktatóanyagot követve tudhat meg többet.