Bu sayfada desteklenen kimlik doğrulama yöntemleri ve istemcileri gösterilir ve Hizmet Bağlayıcısı'nı kullanarak işlem hizmetlerini Azure SQL Veritabanı bağlamak için kullanabileceğiniz örnek kod gösterilir. Diğer yöntemleri kullanarak Azure SQL Veritabanı bağlanabilirsiniz. Bu sayfada, hizmet bağlantısını oluştururken elde ettiğiniz varsayılan ortam değişkeni adları ve değerleri de gösterilir.
Desteklenen işlem hizmetleri
Hizmet Bağlayıcısı, aşağıdaki işlem hizmetlerini Azure SQL Veritabanı bağlamak için kullanılabilir:
- Azure App Service
- Azure Container Apps
- Azure İşlevleri
- Azure Kubernetes Service (AKS)
- Azure Spring Apps
Desteklenen kimlik doğrulama türleri ve istemcileri
Aşağıdaki tabloda, hizmet bağlayıcısını kullanarak işlem hizmetinizi Azure SQL Veritabanı bağlamak için hangi kimlik doğrulama yöntemlerinin ve istemcilerin desteklendiği gösterilmektedir. "Evet", birleşimin desteklendiğini, "Hayır" ise bunun desteklenmediğini gösterir.
| İstemci türü |
Sistem tarafından atanan yönetilen kimlik |
Kullanıcı tarafından atanan yönetilen kimlik |
Gizli dizi/bağlantı dizesi |
Hizmet sorumlusu |
| .NET |
Yes |
Evet |
Evet |
Yes |
| Go |
Hayır |
Hayır |
Evet |
Hayır |
| Java |
Yes |
Evet |
Evet |
Yes |
| Java - Spring Boot |
Yes |
Evet |
Evet |
Yes |
| Node.js |
Yes |
Evet |
Evet |
Yes |
| PHP |
Hayır |
Hayır |
Evet |
Hayır |
| Python |
Yes |
Evet |
Evet |
Yes |
| Python - Django |
Hayır |
Hayır |
Evet |
Hayır |
| Ruby |
Hayır |
Hayır |
Evet |
Hayır |
| None |
Yes |
Evet |
Evet |
Yes |
Bu tablo, Gizli Dizi/bağlantı dizesi yönteminin tüm istemci türleri için desteklendiğini gösterir. Sistem tarafından atanan yönetilen kimlik, Kullanıcı tarafından atanan yönetilen kimlik ve Hizmet sorumlusu yöntemleri .NET, Java, Java - Spring Boot, Node.js, Python ve None istemci türleri için desteklenir. Bu yöntemler Go, PHP, Django ve Ruby istemci türleri için desteklenmez.
Not
Sistem tarafından atanan yönetilen kimlik,Kullanıcı tarafından atanan yönetilen kimlik ve Hizmet sorumlusu yalnızca Azure CLI'da desteklenir.
Varsayılan ortam değişkeni adları veya uygulama özellikleri ve örnek kod
İşlem hizmetlerini Azure SQL Veritabanı bağlamak için aşağıdaki bağlantı ayrıntılarını kullanın. Aşağıdaki her örnek için , <sql-database>, <sql-username>ve <sql-password> yer tutucu metinlerini <sql-server>kendi sunucu adınız, veritabanı adınız, kullanıcı kimliğiniz ve parolanızla değiştirin. Adlandırma kuralları hakkında daha fazla bilgi için Hizmet Bağlayıcısı iç bilgileri makalesine bakın.
Sistem tarafından atanan Yönetilen Kimlik
| Varsayılan ortam değişkeni adı |
Açıklama |
Örnek değer |
AZURE_SQL_CONNECTIONSTRING |
Azure SQL Veritabanı bağlantı dizesi |
Data Source=<sql-server>.database.windows.net,1433;Initial Catalog=<sql-database>;Authentication=ActiveDirectoryManagedIdentity |
| Varsayılan ortam değişkeni adı |
Açıklama |
Örnek değer |
AZURE_SQL_CONNECTIONSTRING |
Azure SQL Veritabanı bağlantı dizesi |
jdbc:sqlserver://<sql-server>.database.windows.net:1433;databaseName=<sql-database>;authentication=ActiveDirectoryMSI; |
| Varsayılan ortam değişkeni adı |
Açıklama |
Örnek değer |
spring.datasource.url |
veri kaynağı URL'sini Azure SQL Veritabanı |
jdbc:sqlserver://<sql-server>.database.windows.net:1433;databaseName=<sql-db>;authentication=ActiveDirectoryMSI; |
| Varsayılan ortam değişkeni adı |
Açıklama |
Örnek değer |
AZURE_SQL_SERVER |
Azure SQL Veritabanı sunucusu |
<sql-server>.database.windows.net |
AZURE_SQL_PORT |
Azure SQL Veritabanı bağlantı noktası |
1433 |
AZURE_SQL_DATABASE |
Azure SQL Veritabanı veritabanı |
<sql-database> |
AZURE_SQL_AUTHENTICATION |
Azure SQL kimlik doğrulaması |
ActiveDirectoryMsi |
| Varsayılan ortam değişkeni adı |
Açıklama |
Örnek değer |
AZURE_SQL_SERVER |
Azure SQL Veritabanı sunucusu |
<sql-server>.database.windows.net |
AZURE_SQL_PORT |
Azure SQL Veritabanı bağlantı noktası |
1433 |
AZURE_SQL_DATABASE |
Azure SQL Veritabanı veritabanı |
<sql-database> |
AZURE_SQL_AUTHENTICATIONTYPE |
kimlik doğrulama türünü Azure SQL Veritabanı |
azure-active-directory-default |
| Varsayılan ortam değişkeni adı |
Açıklama |
Örnek değer |
AZURE_SQL_HOST |
Azure SQL Veritabanı sunucusu |
<sql-server>.database.windows.net |
AZURE_SQL_PORT |
Azure SQL Veritabanı bağlantı noktası |
1433 |
AZURE_SQL_DATABASE |
Azure SQL Veritabanı veritabanı |
<sql-database> |
AZURE_SQL_AUTHENTICATION |
kimlik doğrulama türünü Azure SQL Veritabanı |
azure-active-directory-default |
Örnek kod
Sistem tarafından atanan yönetilen kimliği kullanarak Azure SQL Veritabanı bağlanmak için aşağıdaki adımlara ve koda bakın.
Bağımlılıkları yükleyin.
dotnet add package Microsoft.Data.SqlClient
Service Connector tarafından eklenen ortam değişkeninden Azure SQL Veritabanı bağlantı dizesi alın.
using Microsoft.Data.SqlClient;
string connectionString =
Environment.GetEnvironmentVariable("AZURE_SQL_CONNECTIONSTRING")!;
using var connection = new SqlConnection(connectionString);
connection.Open();
Daha fazla bilgi için bkz . Active Directory Yönetilen Kimlik kimlik doğrulamasını kullanma.
pom.xml dosyanıza aşağıdaki bağımlılıkları ekleyin:
<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>
Service Connector tarafından eklenen ortam değişkeninden Azure SQL Veritabanı bağlantı dizesi alın.
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();
}
}
}
Daha fazla bilgi için bkz . Yönetilen kimlik kullanarak gizli diziler olmadan App Service'ten Azure veritabanlarına bağlanma.
Spring uygulaması için seçeneğiyle --client-type springbootbağlantı oluşturursanız, Hizmet Bağlayıcısı değer biçimine jdbc:sqlserver://<sql-server>.database.windows.net:1433;databaseName=<sql-db>;authentication=ActiveDirectoryMSI; sahip özellikleri spring.datasource.url Azure Spring Apps olarak ayarlar.
Java uygulamasını Azure SQL Veritabanı ile parolasız bağlantılar kullanacak şekilde geçirme öğreticisini izleyerek uygulamanızı güncelleştirin. Daha önce ayarlanmışsa yapılandırma özelliğini kaldırmayı spring.datasource.password ve doğru bağımlılıkları eklemeyi unutmayın.
Bağımlılıkları yükleyin.
python -m pip install pyodbc
Service Connector tarafından eklenen ortam değişkeninden Azure SQL Veritabanı bağlantı yapılandırmalarını alın. Aşağıdaki kodu kullanırken, kullanmak istediğiniz kimlik doğrulama türü için kod parçacığının bölümünü açıklamayı kaldırın. Azure Container Apps'i işlem hizmeti olarak kullanıyorsanız veya kod parçacığındaki bağlantı dizesi çalışmıyorsa, erişim belirteci kullanarak Azure SQL Veritabanı bağlanmak için Azure SQL Veritabanı ile parolasız bağlantılar kullanmak için Python uygulamasını geçirme bölümüne bakın.
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)
- Bağımlılıkları yükleyin.
npm install mssql
- Hizmet Bağlayıcısı tarafından eklenen ortam değişkenlerinden Azure SQL Veritabanı bağlantı yapılandırmalarını alın. Aşağıdaki kodu kullanırken, kullanmak istediğiniz kimlik doğrulama türü için kod parçacığının bölümünü açıklamayı kaldırın.
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);
Diğer diller için, Service Connector'ın veritabanını bağlamak için ortam değişkenlerine ayarlayıp ayarlayacak bağlantı özelliklerini kullanın. Ortam değişkeni ayrıntıları için bkz. Azure SQL Veritabanı Service Connector ile tümleştirme.
Daha fazla bilgi için bkz . Microsoft SQL Server'da istemci programlama için Giriş sayfası.
Kullanıcı tarafından atanan yönetilen kimlik
| Varsayılan ortam değişkeni adı |
Açıklama |
Örnek değer |
AZURE_SQL_CONNECTIONSTRING |
Azure SQL Veritabanı bağlantı dizesi |
Data Source=<sql-server>.database.windows.net,1433;Initial Catalog=<sql-database>;User ID=<identity-client-ID>;Authentication=ActiveDirectoryManagedIdentity |
| Varsayılan ortam değişkeni adı |
Açıklama |
Örnek değer |
AZURE_SQL_CONNECTIONSTRING |
Azure SQL Veritabanı bağlantı dizesi |
jdbc:sqlserver://<sql-server>.database.windows.net:1433;databaseName=<sql-database>;msiClientId=<msiClientId>;authentication=ActiveDirectoryMSI; |
| Varsayılan ortam değişkeni adı |
Açıklama |
Örnek değer |
spring.datasource.url |
veri kaynağı URL'sini Azure SQL Veritabanı |
jdbc:sqlserver://<sql-server>.database.windows.net:1433;databaseName=<sql-db>;msiClientId=<msiClientId>;authentication=ActiveDirectoryMSI; |
| Varsayılan ortam değişkeni adı |
Açıklama |
Örnek değer |
AZURE_SQL_SERVER |
Azure SQL Veritabanı sunucusu |
<sql-server>.database.windows.net |
AZURE_SQL_PORT |
Azure SQL Veritabanı bağlantı noktası |
1433 |
AZURE_SQL_DATABASE |
Azure SQL Veritabanı veritabanı |
<sql-database> |
AZURE_SQL_USER |
Azure SQL Veritabanı kullanıcı |
Object (principal) ID |
AZURE_SQL_AUTHENTICATION |
Azure SQL kimlik doğrulaması |
ActiveDirectoryMsi |
| Varsayılan ortam değişkeni adı |
Açıklama |
Örnek değer |
AZURE_SQL_SERVER |
Azure SQL Veritabanı sunucusu |
<sql-server>.database.windows.net |
AZURE_SQL_PORT |
Azure SQL Veritabanı bağlantı noktası |
1433 |
AZURE_SQL_DATABASE |
Azure SQL Veritabanı veritabanı |
<sql-database> |
AZURE_SQL_AUTHENTICATIONTYPE |
kimlik doğrulama türünü Azure SQL Veritabanı |
azure-active-directory-default |
AZURE_SQL_CLIENTID |
Azure SQL Veritabanı istemci kimliği |
<identity-client-ID> |
| Varsayılan ortam değişkeni adı |
Açıklama |
Örnek değer |
AZURE_SQL_HOST |
Azure SQL Veritabanı sunucusu |
<sql-server>.database.windows.net |
AZURE_SQL_PORT |
Azure SQL Veritabanı bağlantı noktası |
1433 |
AZURE_SQL_DATABASE |
Azure SQL Veritabanı veritabanı |
<sql-database> |
AZURE_SQL_AUTHENTICATION |
kimlik doğrulama türünü Azure SQL Veritabanı |
azure-active-directory-default |
AZURE_SQL_USERNAME |
Azure SQL Veritabanı istemci kimliği |
<your Client ID> |
Örnek kod
Kullanıcı tarafından atanan yönetilen kimliği kullanarak Azure SQL Veritabanı bağlanmak için aşağıdaki adımlara ve koda bakın.
Bağımlılıkları yükleyin.
dotnet add package Microsoft.Data.SqlClient
Service Connector tarafından eklenen ortam değişkeninden Azure SQL Veritabanı bağlantı dizesi alın.
using Microsoft.Data.SqlClient;
string connectionString =
Environment.GetEnvironmentVariable("AZURE_SQL_CONNECTIONSTRING")!;
using var connection = new SqlConnection(connectionString);
connection.Open();
Daha fazla bilgi için bkz . Active Directory Yönetilen Kimlik kimlik doğrulamasını kullanma.
pom.xml dosyanıza aşağıdaki bağımlılıkları ekleyin:
<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>
Service Connector tarafından eklenen ortam değişkeninden Azure SQL Veritabanı bağlantı dizesi alın.
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();
}
}
}
Daha fazla bilgi için bkz . Yönetilen kimlik kullanarak gizli diziler olmadan App Service'ten Azure veritabanlarına bağlanma.
Spring uygulaması için seçeneğiyle --client-type springbootbağlantı oluşturursanız, Hizmet Bağlayıcısı değer biçimine jdbc:sqlserver://<sql-server>.database.windows.net:1433;databaseName=<sql-db>;authentication=ActiveDirectoryMSI; sahip özellikleri spring.datasource.url Azure Spring Apps olarak ayarlar.
Java uygulamasını Azure SQL Veritabanı ile parolasız bağlantılar kullanacak şekilde geçirme öğreticisini izleyerek uygulamanızı güncelleştirin. Daha önce ayarlanmışsa yapılandırma özelliğini kaldırmayı spring.datasource.password ve doğru bağımlılıkları eklemeyi unutmayın.
Bağımlılıkları yükleyin.
python -m pip install pyodbc
Service Connector tarafından eklenen ortam değişkeninden Azure SQL Veritabanı bağlantı yapılandırmalarını alın. Aşağıdaki kodu kullanırken, kullanmak istediğiniz kimlik doğrulama türü için kod parçacığının bölümünü açıklamayı kaldırın. Azure Container Apps'i işlem hizmeti olarak kullanıyorsanız veya kod parçacığındaki bağlantı dizesi çalışmıyorsa, erişim belirteci kullanarak Azure SQL Veritabanı bağlanmak için Azure SQL Veritabanı ile parolasız bağlantılar kullanmak için Python uygulamasını geçirme bölümüne bakın.
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)
- Bağımlılıkları yükleyin.
npm install mssql
- Hizmet Bağlayıcısı tarafından eklenen ortam değişkenlerinden Azure SQL Veritabanı bağlantı yapılandırmalarını alın. Aşağıdaki kodu kullanırken, kullanmak istediğiniz kimlik doğrulama türü için kod parçacığının bölümünü açıklamayı kaldırın.
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);
Diğer diller için, Service Connector'ın veritabanını bağlamak için ortam değişkenlerine ayarlayıp ayarlayacak bağlantı özelliklerini kullanın. Ortam değişkeni ayrıntıları için bkz. Azure SQL Veritabanı Service Connector ile tümleştirme.
Daha fazla bilgi için bkz . Microsoft SQL Server'da istemci programlama için Giriş sayfası.
Bağlantı Dizesi
Uyarı
Microsoft, kullanılabilir en güvenli kimlik doğrulama akışını kullanmanızı önerir. Bu yordamda açıklanan kimlik doğrulama akışı, uygulamada çok yüksek düzeyde güven gerektirir ve diğer akışlarda mevcut olmayan riskleri taşır. Bu akışı yalnızca yönetilen kimlikler gibi diğer daha güvenli akışlar uygun olmadığında kullanmalısınız.
| Varsayılan ortam değişkeni adı |
Açıklama |
Örnek değer |
AZURE_SQL_CONNECTIONSTRING |
Azure SQL Veritabanı bağlantı dizesi |
Data Source=<sql-server>.database.windows.net,1433;Initial Catalog=<sql-database>;Password=<sql-password> |
| Varsayılan ortam değişkeni adı |
Açıklama |
Örnek değer |
AZURE_SQL_CONNECTIONSTRING |
Azure SQL Veritabanı bağlantı dizesi |
jdbc:sqlserver://<sql-server>.database.windows.net:1433;databaseName=<sql-database>;user=<sql-username>;password=<sql-password>; |
| Varsayılan ortam değişkeni adı |
Açıklama |
Örnek değer |
spring.datasource.url |
veri kaynağı URL'sini Azure SQL Veritabanı |
jdbc:sqlserver://<sql-server>.database.windows.net:1433;databaseName=<sql-db>; |
spring.datasource.username |
veri kaynağı kullanıcı adını Azure SQL Veritabanı |
<sql-user> |
spring.datasource.password |
Veri kaynağı parolasını Azure SQL Veritabanı |
<sql-password> |
| Varsayılan ortam değişkeni adı |
Açıklama |
Örnek değer |
AZURE_SQL_SERVER |
Azure SQL Veritabanı sunucusu |
<sql-server>.database.windows.net |
AZURE_SQL_PORT |
Azure SQL Veritabanı bağlantı noktası |
1433 |
AZURE_SQL_DATABASE |
Azure SQL Veritabanı veritabanı |
<sql-database> |
AZURE_SQL_USER |
Azure SQL Veritabanı kullanıcı |
<sql-username> |
AZURE_SQL_PASSWORD |
parolayı Azure SQL Veritabanı |
<sql-password> |
| Varsayılan ortam değişkeni adı |
Açıklama |
Örnek değer |
AZURE_SQL_HOST |
Azure SQL Veritabanı konağı |
<sql-server>.database.windows.net |
AZURE_SQL_PORT |
Azure SQL Veritabanı bağlantı noktası |
1433 |
AZURE_SQL_NAME |
Azure SQL Veritabanı adı |
<sql-database> |
AZURE_SQL_USER |
Azure SQL Veritabanı kullanıcı |
<sql-username> |
AZURE_SQL_PASSWORD |
parolayı Azure SQL Veritabanı |
<sql-password> |
| Varsayılan ortam değişkeni adı |
Açıklama |
Örnek değer |
AZURE_SQL_CONNECTIONSTRING |
Azure SQL Veritabanı bağlantı dizesi |
server=<sql-server>.database.windows.net;port=1433;database=<sql-database>;user id=<sql-username>;password=<sql-password>; |
| Varsayılan ortam değişkeni adı |
Açıklama |
Örnek değer |
AZURE_SQL_SERVER |
Azure SQL Veritabanı sunucusu |
<sql-server>.database.windows.net |
AZURE_SQL_PORT |
Azure SQL Veritabanı bağlantı noktası |
1433 |
AZURE_SQL_DATABASE |
Azure SQL Veritabanı veritabanı |
<sql-database> |
AZURE_SQL_USERNAME |
Azure SQL Veritabanı kullanıcı adı |
<sql-username> |
AZURE_SQL_PASSWORD |
parolayı Azure SQL Veritabanı |
<sql-password> |
| Varsayılan ortam değişkeni adı |
Açıklama |
Örnek değer |
AZURE_SQL_SERVERNAME |
Azure SQL Veritabanı sunucu adı |
<sql-server>.database.windows.net,1433 |
AZURE_SQL_DATABASE |
Azure SQL Veritabanı veritabanı |
<sql-database> |
AZURE_SQL_UID |
benzersiz tanımlayıcıyı (UID) Azure SQL Veritabanı |
<sql-username> |
AZURE_SQL_PASSWORD |
parolayı Azure SQL Veritabanı |
<sql-password> |
| Varsayılan ortam değişkeni adı |
Açıklama |
Örnek değer |
AZURE_SQL_HOST |
Azure SQL Veritabanı konağı |
<sql-server>.database.windows.net |
AZURE_SQL_PORT |
Azure SQL Veritabanı bağlantı noktası |
1433 |
AZURE_SQL_DATABASE |
Azure SQL Veritabanı veritabanı |
<sql-database> |
AZURE_SQL_USERNAME |
Azure SQL Veritabanı kullanıcı adı |
<sql-username> |
AZURE_SQL_PASSWORD |
parolayı Azure SQL Veritabanı |
<sql-password> |
| Varsayılan ortam değişkeni adı |
Açıklama |
Örnek değer |
AZURE_SQL_HOST |
Azure SQL Veritabanı konağı |
<sql-server>.database.windows.net |
AZURE_SQL_PORT |
Azure SQL Veritabanı bağlantı noktası |
1433 |
AZURE_SQL_DATABASE |
Azure SQL Veritabanı veritabanı |
<sql-database> |
AZURE_SQL_USERNAME |
Azure SQL Veritabanı kullanıcı adı |
<sql-username> |
AZURE_SQL_PASSWORD |
parolayı Azure SQL Veritabanı |
<sql-password> |
Örnek kod
bağlantı dizesi kullanarak Azure SQL Veritabanı bağlanmak için aşağıdaki adımlara ve koda bakın.
Bağımlılıkları yükleyin.
dotnet add package Microsoft.Data.SqlClient
Service Connector tarafından eklenen ortam değişkeninden Azure SQL Veritabanı bağlantı dizesi alın.
using Microsoft.Data.SqlClient;
string connectionString =
Environment.GetEnvironmentVariable("AZURE_SQL_CONNECTIONSTRING")!;
using var connection = new SqlConnection(connectionString);
connection.Open();
pom.xml dosyanıza aşağıdaki bağımlılıkları ekleyin:
<dependency>
<groupId>com.microsoft.sqlserver</groupId>
<artifactId>mssql-jdbc</artifactId>
<version>10.2.0.jre11</version>
</dependency>
Service Connector tarafından eklenen ortam değişkeninden Azure SQL Veritabanı bağlantı dizesi alın.
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();
}
}
}
- 'pom.xml' dosyanıza bağımlılık ekleyin:
<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>
- Spring uygulamasını ayarlayın. Bağlantı yapılandırmaları Service Connector tarafından Spring Apps'e eklenir.
Bağımlılıkları yükleyin.
python -m pip install pyodbc
Service Connector tarafından eklenen ortam değişkeninden Azure SQL Veritabanı bağlantı yapılandırmalarını alın.
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)
Bağımlılıkları yükleyin.
pip install django
pip install pyodbc
Ayar dosyasında, Service Connector tarafından eklenen ortam değişkeninden Azure SQL Veritabanı bağlantı yapılandırmalarını alın.
# 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': databse,
'USER': user,
'PASSWORD': password,
'HOST': server,
'PORT': port,
'OPTIONS': {
'driver': 'ODBC Driver 13 for SQL Server',
},
},
}
Bağımlılığı yükleyin.
go install github.com/microsoft/go-mssqldb@latest
Service Connector tarafından eklenen ortam değişkeninden Azure SQL Veritabanı bağlantı dizesi alın.
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")
- Bağımlılıkları yükleyin.
npm install mssql
- Hizmet Bağlayıcısı tarafından eklenen ortam değişkenlerinden Azure SQL Veritabanı bağlantı yapılandırmalarını alın.
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);
SQL Server için PHP için Microsoft Sürücüleri'ni indirin. Daha fazla bilgi için BKz . SQL Server için PHP için Microsoft Sürücüleri ile Çalışmaya Başlama.
Hizmet Bağlayıcısı tarafından eklenen ortam değişkenlerinden Azure SQL Veritabanı bağlantı yapılandırmalarını alın.
<?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);
?>
SQL Server için Ruby Driver'ı indirin. Daha fazla bilgi için Bkz . Ruby geliştirme için geliştirme ortamını yapılandırma.
Hizmet Bağlayıcısı tarafından eklenen ortam değişkenlerinden Azure SQL Veritabanı bağlantı yapılandırmalarını alın.
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
Diğer diller için, Service Connector'ın veritabanını bağlamak için ortam değişkenlerine ayarlayıp ayarlayacak bağlantı özelliklerini kullanın. Ortam değişkeni ayrıntıları için bkz. Azure SQL Veritabanı Service Connector ile tümleştirme.
Daha fazla bilgi için bkz . Microsoft SQL Server'da istemci programlama için Giriş sayfası.
Hizmet Sorumlusu
| Varsayılan ortam değişkeni adı |
Açıklama |
Örnek değer |
AZURE_SQL_CLIENTID |
İstemci kimliğiniz |
<client-ID> |
AZURE_SQL_CLIENTSECRET |
İstemci gizli anahtarınız |
<client-secret> |
AZURE_SQL_TENANTID |
Kiracı kimliğiniz |
<tenant-ID> |
AZURE_SQL_CONNECTIONSTRING |
Azure SQL Veritabanı bağlantı dizesi |
Data Source=<sql-server>.database.windows.net,1433;Initial Catalog=<sql-database>;User ID=<client-Id>;Password=<client-secret>;Authentication=ActiveDirectoryServicePrincipal |
| Varsayılan ortam değişkeni adı |
Açıklama |
Örnek değer |
AZURE_SQL_CONNECTIONSTRING |
Azure SQL Veritabanı bağlantı dizesi |
jdbc:sqlserver://<sql-server>.database.windows.net:1433;databaseName=<sql-database>;user=<client-Id>;password=<client-secret>;authentication=ActiveDirectoryServicePrincipal; |
| Varsayılan ortam değişkeni adı |
Açıklama |
Örnek değer |
spring.datasource.url |
veri kaynağı URL'sini Azure SQL Veritabanı |
jdbc:sqlserver://<sql-server>.database.windows.net:1433;databaseName=<sql-db>;authentication=ActiveDirectoryServicePrincipal; |
spring.datasource.username |
veri kaynağı kullanıcı adını Azure SQL Veritabanı |
<client-Id> |
spring.datasource.password |
Veri kaynağı parolasını Azure SQL Veritabanı |
<client-Secret> |
| Varsayılan ortam değişkeni adı |
Açıklama |
Örnek değer |
AZURE_SQL_SERVER |
Azure SQL Veritabanı sunucusu |
<sql-server>.database.windows.net |
AZURE_SQL_PORT |
Azure SQL Veritabanı bağlantı noktası |
1433 |
AZURE_SQL_DATABASE |
Azure SQL Veritabanı veritabanı |
<sql-database> |
AZURE_SQL_USER |
Azure SQL Veritabanı kullanıcı |
your Client Id |
AZURE_SQL_AUTHENTICATION |
Azure SQL kimlik doğrulaması |
ActiveDirectoryServerPrincipal |
AZURE_SQL_PASSWORD |
parolayı Azure SQL Veritabanı |
your Client Secret |
| Varsayılan ortam değişkeni adı |
Açıklama |
Örnek değer |
AZURE_SQL_SERVER |
Azure SQL Veritabanı sunucusu |
<sql-server>.database.windows.net |
AZURE_SQL_PORT |
Azure SQL Veritabanı bağlantı noktası |
1433 |
AZURE_SQL_DATABASE |
Azure SQL Veritabanı veritabanı |
<sql-database> |
AZURE_SQL_AUTHENTICATIONTYPE |
kimlik doğrulama türünü Azure SQL Veritabanı |
azure-active-directory-default |
AZURE_SQL_CLIENTID |
Azure SQL Veritabanı istemci kimliği |
<your Client ID> |
AZURE_SQL_CLIENTSECRET |
Azure SQL Veritabanı gizli anahtarı |
<your Client Secret > |
AZURE_SQL_TENANTID |
kiracı kimliğini Azure SQL Veritabanı |
<your Tenant ID> |
| Varsayılan ortam değişkeni adı |
Açıklama |
Örnek değer |
AZURE_SQL_HOST |
Azure SQL Veritabanı sunucusu |
<sql-server>.database.windows.net |
AZURE_SQL_PORT |
Azure SQL Veritabanı bağlantı noktası |
1433 |
AZURE_SQL_DATABASE |
Azure SQL Veritabanı veritabanı |
<sql-database> |
AZURE_SQL_AUTHENTICATION |
kimlik doğrulama türünü Azure SQL Veritabanı |
azure-active-directory-default |
AZURE_SQL_USERNAME |
Azure SQL Veritabanı istemci kimliği |
<your Client ID> |
AZURE_SQL_PASSWORD |
Azure SQL Veritabanı gizli anahtarı |
<your Client Secret > |
Örnek kod
Hizmet sorumlusu kullanarak Azure SQL Veritabanı bağlanmak için aşağıdaki adımlara ve koda bakın.
Bağımlılıkları yükleyin.
dotnet add package Microsoft.Data.SqlClient
Service Connector tarafından eklenen ortam değişkeninden Azure SQL Veritabanı bağlantı dizesi alın.
using Microsoft.Data.SqlClient;
string connectionString =
Environment.GetEnvironmentVariable("AZURE_SQL_CONNECTIONSTRING")!;
using var connection = new SqlConnection(connectionString);
connection.Open();
Daha fazla bilgi için bkz . Active Directory Yönetilen Kimlik kimlik doğrulamasını kullanma.
pom.xml dosyanıza aşağıdaki bağımlılıkları ekleyin:
<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>
Service Connector tarafından eklenen ortam değişkeninden Azure SQL Veritabanı bağlantı dizesi alın.
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();
}
}
}
Daha fazla bilgi için bkz . Yönetilen kimlik kullanarak gizli diziler olmadan App Service'ten Azure veritabanlarına bağlanma.
Spring uygulaması için seçeneğiyle --client-type springbootbağlantı oluşturursanız, Hizmet Bağlayıcısı değer biçimine jdbc:sqlserver://<sql-server>.database.windows.net:1433;databaseName=<sql-db>;authentication=ActiveDirectoryMSI; sahip özellikleri spring.datasource.url Azure Spring Apps olarak ayarlar.
Java uygulamasını Azure SQL Veritabanı ile parolasız bağlantılar kullanacak şekilde geçirme öğreticisini izleyerek uygulamanızı güncelleştirin. Daha önce ayarlanmışsa yapılandırma özelliğini kaldırmayı spring.datasource.password ve doğru bağımlılıkları eklemeyi unutmayın.
Bağımlılıkları yükleyin.
python -m pip install pyodbc
Service Connector tarafından eklenen ortam değişkeninden Azure SQL Veritabanı bağlantı yapılandırmalarını alın. Aşağıdaki kodu kullanırken, kullanmak istediğiniz kimlik doğrulama türü için kod parçacığının bölümünü açıklamayı kaldırın. Azure Container Apps'i işlem hizmeti olarak kullanıyorsanız veya kod parçacığındaki bağlantı dizesi çalışmıyorsa, erişim belirteci kullanarak Azure SQL Veritabanı bağlanmak için Azure SQL Veritabanı ile parolasız bağlantılar kullanmak için Python uygulamasını geçirme bölümüne bakın.
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)
- Bağımlılıkları yükleyin.
npm install mssql
- Hizmet Bağlayıcısı tarafından eklenen ortam değişkenlerinden Azure SQL Veritabanı bağlantı yapılandırmalarını alın. Aşağıdaki kodu kullanırken, kullanmak istediğiniz kimlik doğrulama türü için kod parçacığının bölümünü açıklamayı kaldırın.
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);
Diğer diller için, Service Connector'ın veritabanını bağlamak için ortam değişkenlerine ayarlayıp ayarlayacak bağlantı özelliklerini kullanın. Ortam değişkeni ayrıntıları için bkz. Azure SQL Veritabanı Service Connector ile tümleştirme.
Daha fazla bilgi için bkz . Microsoft SQL Server'da istemci programlama için Giriş sayfası.
Sonraki adımlar
Hizmet Bağlayıcısı hakkında daha fazla bilgi edinmek için aşağıda listelenen öğreticiyi izleyin.