Az Azure Database for MySQL integrálása a Service Connector használatával
Cikk
Ez a lap a támogatott hitelesítési módszereket és ügyfeleket mutatja be, és a Service Connector használatával az Azure Database for MySQL – Rugalmas kiszolgáló más felhőszolgáltatásokhoz való csatlakoztatásához használható mintakódot jelenít meg. Ezen a lapon láthatók a környezeti változók alapértelmezett nevei és értékei (vagy a Spring Boot-konfiguráció), amely a szolgáltatáskapcsolat létrehozásakor jelenik meg.
Fontos
Az önálló Azure Database for MySQL-kiszolgáló a kivonási útvonalon van. Határozottan javasoljuk, hogy frissítsen rugalmas Azure Database for MySQL-kiszolgálóra. További információ a rugalmas Azure Database for MySQL-kiszolgálóra való migrálásról: Mi történik az önálló Azure Database for MySQL-kiszolgálóval?
Támogatott számítási szolgáltatások
A Service Connector segítségével a következő számítási szolgáltatásokat csatlakoztathatja az Azure Database for MySQL-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 ügyféltípusok
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ásnak a Service Connector használatával az Azure Database for MySQL-hez való csatlakoztatásához. 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
Go (go-sql-driver for mysql)
Igen
Igen
Igen
Igen
Java (JDBC)
Igen
Igen
Igen
Igen
Java – Spring Boot (JDBC)
Igen
Igen
Igen
Igen
Node.js (mysql)
Igen
Igen
Igen
Igen
Python (mysql-connector-python)
Igen
Igen
Igen
Igen
Python-Django
Igen
Igen
Igen
Igen
PHP (MySQLi)
Igen
Igen
Igen
Igen
Ruby (mysql2)
Igen
Igen
Igen
Igen
Egyik sem
Igen
Igen
Igen
Igen
Ez a táblázat azt jelzi, hogy a tábla ügyféltípusainak és hitelesítési módszereinek összes kombinációja támogatott. Minden ügyféltípus a hitelesítési módszerek bármelyikével csatlakozhat az Azure Database for MySQL-hez a Service Connector használatával.
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 csak az Azure CLI-n támogatott.
Alapértelmezett környezeti változónevek vagy alkalmazástulajdonságok és mintakód
A számítási szolgáltatások Azure Database for MySQL-hez való csatlakoztatásához hivatkozzon a kapcsolat részleteire és a mintakódra a következő táblázatokban, a kapcsolat hitelesítési típusának és ügyféltípusának megfelelően. Az elnevezési konvenciókról a Service Connector belsős cikkében talál további információt.
A .NET esetében nincs beépülő modul vagy tár a jelszó nélküli kapcsolatok támogatásához. A felügyelt identitáshoz vagy szolgáltatásnévhez hozzáférési jogkivonatot kérhet le az olyan ügyfélkódtárak használatával, mint az Azure.Identity. Ezután jelszóként használhatja a hozzáférési jogkivonatot az adatbázishoz való csatlakozáshoz. 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.
using Azure.Core;
using Azure.Identity;
using MySqlConnector;
// Uncomment the following lines corresponding to the authentication type you want to use.
// For system-assigned managed identity.
// var credential = new DefaultAzureCredential();
// For user-assigned managed identity.
// var credential = new DefaultAzureCredential(
// new DefaultAzureCredentialOptions
// {
// ManagedIdentityClientId = Environment.GetEnvironmentVariable("AZURE_MYSQL_CLIENTID");
// });
// For service principal.
// var tenantId = Environment.GetEnvironmentVariable("AZURE_MYSQL_TENANTID");
// var clientId = Environment.GetEnvironmentVariable("AZURE_MYSQL_CLIENTID");
// var clientSecret = Environment.GetEnvironmentVariable("AZURE_MYSQL_CLIENTSECRET");
// var credential = new ClientSecretCredential(tenantId, clientId, clientSecret);
var tokenRequestContext = new TokenRequestContext(
new[] { "https://ossrdbms-aad.database.windows.net/.default" });
AccessToken accessToken = await credential.GetTokenAsync(tokenRequestContext);
// Open a connection to the MySQL server using the access token.
string connectionString =
$"{Environment.GetEnvironmentVariable("AZURE_MYSQL_CONNECTIONSTRING")};Password={accessToken.Token}";
using var connection = new MySqlConnection(connectionString);
Console.WriteLine("Opening connection using access token...");
await connection.OpenAsync();
// do something
Adja hozzá a következő függőségeket a pom.xml fájlhoz:
Spring-alkalmazások esetén, ha egy beállítással --client-type springboothoz létre kapcsolatot, a Service Connector beállítja a tulajdonságokat spring.datasource.azure.passwordless-enabled, spring.datasource.urlés spring.datasource.username az Azure Spring Appshez.
Frissítse az alkalmazást az azure database for MySQL-példány csatlakoztatása az alkalmazáshoz az Azure Spring Appsben 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 a Spring-alkalmazáshoz.
Hitelesítés hozzáférési jogkivonattal a kódtáron keresztül azure-identity , és kapcsolati információk lekérése 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.
from azure.identity import ManagedIdentityCredential, ClientSecretCredential
import mysql.connector
import os
# Uncomment the following lines corresponding to the authentication type you want to use.
# For system-assigned managed identity.
# cred = ManagedIdentityCredential()
# For user-assigned managed identity.
# managed_identity_client_id = os.getenv('AZURE_MYSQL_CLIENTID')
# cred = ManagedIdentityCredential(client_id=managed_identity_client_id)
# For service principal
# tenant_id = os.getenv('AZURE_MYSQL_TENANTID')
# client_id = os.getenv('AZURE_MYSQL_CLIENTID')
# client_secret = os.getenv('AZURE_MYSQL_CLIENTSECRET')
# cred = ClientSecretCredential(tenant_id=tenant_id, client_id=client_id, client_secret=client_secret)
# acquire token
accessToken = cred.get_token('https://ossrdbms-aad.database.windows.net/.default')
# open connect to Azure MySQL with the access token.
host = os.getenv('AZURE_MYSQL_HOST')
database = os.getenv('AZURE_MYSQL_NAME')
user = os.getenv('AZURE_MYSQL_USER')
password = accessToken.token
cnx = mysql.connector.connect(user=user,
password=password,
host=host,
database=database)
cnx.close()
Telepítse a függőségeket.
pip install azure-identity
Hozzáférési jogkivonat lekérése táron keresztül azure-identity a Service Connector által hozzáadott környezeti változókkal. 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.
from azure.identity import ManagedIdentityCredential, ClientSecretCredential
import os
# Uncomment the following lines corresponding to the authentication type you want to use.
# system-assigned managed identity
# cred = ManagedIdentityCredential()
# user-assigned managed identity
# managed_identity_client_id = os.getenv('AZURE_MYSQL_CLIENTID')
# cred = ManagedIdentityCredential(client_id=managed_identity_client_id)
# service principal
# tenant_id = os.getenv('AZURE_MYSQL_TENANTID')
# client_id = os.getenv('AZURE_MYSQL_CLIENTID')
# client_secret = os.getenv('AZURE_MYSQL_CLIENTSECRET')
# cred = ClientSecretCredential(tenant_id=tenant_id, client_id=client_id, client_secret=client_secret)
# acquire token
accessToken = cred.get_token('https://ossrdbms-aad.database.windows.net/.default')
A fájl beállításakor kérje le az Azure MySQL-adatbázis adatait a Service Connector szolgáltatás által hozzáadott környezeti változókból. Az adatbázis eléréséhez használja accessToken az előző lépésben beszerzett adatokat.
# in your setting file, eg. settings.py
host = os.getenv('AZURE_MYSQL_HOST')
database = os.getenv('AZURE_MYSQL_NAME')
user = os.getenv('AZURE_MYSQL_USER')
password = accessToken.token # this is accessToken acquired from above step.
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': database,
'USER': user,
'PASSWORD': password,
'HOST': host
}
}
Telepítse a függőségeket.
go get "github.com/go-sql-driver/mysql"
go get "github.com/Azure/azure-sdk-for-go/sdk/azidentity"
go get "github.com/Azure/azure-sdk-for-go/sdk/azcore"
Kódban szerezze be a hozzáférési jogkivonatot, azidentitymajd csatlakozzon az Azure MySQL-hez a jogkivonattal. 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 (
"context"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/policy"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/go-sql-driver/mysql"
)
func main() {
// Uncomment the following lines corresponding to the authentication type you want to use.
// for system-assigned managed identity
// cred, err := azidentity.NewDefaultAzureCredential(nil)
// for user-assigned managed identity
// clientid := os.Getenv("AZURE_MYSQL_CLIENTID")
// azidentity.ManagedIdentityCredentialOptions.ID := clientid
// options := &azidentity.ManagedIdentityCredentialOptions{ID: clientid}
// cred, err := azidentity.NewManagedIdentityCredential(options)
// for service principal
// clientid := os.Getenv("AZURE_MYSQL_CLIENTID")
// tenantid := os.Getenv("AZURE_MYSQL_TENANTID")
// clientsecret := os.Getenv("AZURE_MYSQL_CLIENTSECRET")
// cred, err := azidentity.NewClientSecretCredential(tenantid, clientid, clientsecret, &azidentity.ClientSecretCredentialOptions{})
if err != nil {
}
ctx, cancel := context.WithTimeout(context.Background(), 30*time.Second)
token, err := cred.GetToken(ctx, policy.TokenRequestOptions{
Scopes: []string("https://ossrdbms-aad.database.windows.net/.default"),
})
connectionString := os.Getenv("AZURE_MYSQL_CONNECTIONSTRING") + ";Password=" + token.Token
db, err := sql.Open("mysql", connectionString)
}
Hozzáférési jogkivonat és @azure/identity Azure MySQL-adatbázis adatainak lekérése a Service Connector szolgáltatás á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 { DefaultAzureCredential,ClientSecretCredential } from "@azure/identity";
const mysql = require('mysql2');
// Uncomment the following lines corresponding to the authentication type you want to use.
// for system-assigned managed identity
// const credential = new DefaultAzureCredential();
// for user-assigned managed identity
// const clientId = process.env.AZURE_MYSQL_CLIENTID;
// const credential = new DefaultAzureCredential({
// managedIdentityClientId: clientId
// });
// for service principal
// const tenantId = process.env.AZURE_MYSQL_TENANTID;
// const clientId = process.env.AZURE_MYSQL_CLIENTID;
// const clientSecret = process.env.AZURE_MYSQL_CLIENTSECRET;
// const credential = new ClientSecretCredential(tenantId, clientId, clientSecret);
// acquire token
var accessToken = await credential.getToken('https://ossrdbms-aad.database.windows.net/.default');
const connection = mysql.createConnection({
host: process.env.AZURE_MYSQL_HOST,
user: process.env.AZURE_MYSQL_USER,
password: accessToken.token,
database: process.env.AZURE_MYSQL_DATABASE,
port: process.env.AZURE_MYSQL_PORT,
ssl: process.env.AZURE_MYSQL_SSL
});
connection.connect((err) => {
if (err) {
console.error('Error connecting to MySQL database: ' + err.stack);
return;
}
console.log('Connected to MySQL database');
});
Más nyelvek esetén használja a Service Connector által a környezeti változókhoz megadott kapcsolati sztring és felhasználónevet az adatbázis csatlakoztatásához. A környezeti változók részleteiért lásd: Azure Database for MySQL integrálása a Service Connectornal.
Más nyelvek esetén használja a Service Connector által a környezeti változókhoz megadott kapcsolati sztring és felhasználónevet az adatbázis csatlakoztatásához. A környezeti változók részleteiért lásd: Azure Database for MySQL integrálása a Service Connectornal.
Más nyelvek esetén használja a Service Connector által a környezeti változókhoz megadott kapcsolati tulajdonságokat az adatbázis csatlakoztatásához. A környezeti változók részleteiért lásd: Azure Database for MySQL integrálása a Service Connectornal.
Az alábbi lépéseket és kódot követve csatlakozhat az Azure Database for MySQL-hez egy felhasználó által hozzárendelt felügyelt identitás használatával.
A .NET esetében nincs beépülő modul vagy tár a jelszó nélküli kapcsolatok támogatásához. A felügyelt identitáshoz vagy szolgáltatásnévhez hozzáférési jogkivonatot kérhet le az olyan ügyfélkódtárak használatával, mint az Azure.Identity. Ezután jelszóként használhatja a hozzáférési jogkivonatot az adatbázishoz való csatlakozáshoz. 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.
using Azure.Core;
using Azure.Identity;
using MySqlConnector;
// Uncomment the following lines corresponding to the authentication type you want to use.
// For system-assigned managed identity.
// var credential = new DefaultAzureCredential();
// For user-assigned managed identity.
// var credential = new DefaultAzureCredential(
// new DefaultAzureCredentialOptions
// {
// ManagedIdentityClientId = Environment.GetEnvironmentVariable("AZURE_MYSQL_CLIENTID");
// });
// For service principal.
// var tenantId = Environment.GetEnvironmentVariable("AZURE_MYSQL_TENANTID");
// var clientId = Environment.GetEnvironmentVariable("AZURE_MYSQL_CLIENTID");
// var clientSecret = Environment.GetEnvironmentVariable("AZURE_MYSQL_CLIENTSECRET");
// var credential = new ClientSecretCredential(tenantId, clientId, clientSecret);
var tokenRequestContext = new TokenRequestContext(
new[] { "https://ossrdbms-aad.database.windows.net/.default" });
AccessToken accessToken = await credential.GetTokenAsync(tokenRequestContext);
// Open a connection to the MySQL server using the access token.
string connectionString =
$"{Environment.GetEnvironmentVariable("AZURE_MYSQL_CONNECTIONSTRING")};Password={accessToken.Token}";
using var connection = new MySqlConnection(connectionString);
Console.WriteLine("Opening connection using access token...");
await connection.OpenAsync();
// do something
Adja hozzá a következő függőségeket a pom.xml fájlhoz:
Spring-alkalmazások esetén, ha egy beállítással --client-type springboothoz létre kapcsolatot, a Service Connector beállítja a tulajdonságokat spring.datasource.azure.passwordless-enabled, spring.datasource.urlés spring.datasource.username az Azure Spring Appshez.
Frissítse az alkalmazást az azure database for MySQL-példány csatlakoztatása az alkalmazáshoz az Azure Spring Appsben 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 a Spring-alkalmazáshoz.
Hitelesítés hozzáférési jogkivonattal a kódtáron keresztül azure-identity , és kapcsolati információk lekérése 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.
from azure.identity import ManagedIdentityCredential, ClientSecretCredential
import mysql.connector
import os
# Uncomment the following lines corresponding to the authentication type you want to use.
# For system-assigned managed identity.
# cred = ManagedIdentityCredential()
# For user-assigned managed identity.
# managed_identity_client_id = os.getenv('AZURE_MYSQL_CLIENTID')
# cred = ManagedIdentityCredential(client_id=managed_identity_client_id)
# For service principal
# tenant_id = os.getenv('AZURE_MYSQL_TENANTID')
# client_id = os.getenv('AZURE_MYSQL_CLIENTID')
# client_secret = os.getenv('AZURE_MYSQL_CLIENTSECRET')
# cred = ClientSecretCredential(tenant_id=tenant_id, client_id=client_id, client_secret=client_secret)
# acquire token
accessToken = cred.get_token('https://ossrdbms-aad.database.windows.net/.default')
# open connect to Azure MySQL with the access token.
host = os.getenv('AZURE_MYSQL_HOST')
database = os.getenv('AZURE_MYSQL_NAME')
user = os.getenv('AZURE_MYSQL_USER')
password = accessToken.token
cnx = mysql.connector.connect(user=user,
password=password,
host=host,
database=database)
cnx.close()
Telepítse a függőségeket.
pip install azure-identity
Hozzáférési jogkivonat lekérése táron keresztül azure-identity a Service Connector által hozzáadott környezeti változókkal. 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.
from azure.identity import ManagedIdentityCredential, ClientSecretCredential
import os
# Uncomment the following lines corresponding to the authentication type you want to use.
# system-assigned managed identity
# cred = ManagedIdentityCredential()
# user-assigned managed identity
# managed_identity_client_id = os.getenv('AZURE_MYSQL_CLIENTID')
# cred = ManagedIdentityCredential(client_id=managed_identity_client_id)
# service principal
# tenant_id = os.getenv('AZURE_MYSQL_TENANTID')
# client_id = os.getenv('AZURE_MYSQL_CLIENTID')
# client_secret = os.getenv('AZURE_MYSQL_CLIENTSECRET')
# cred = ClientSecretCredential(tenant_id=tenant_id, client_id=client_id, client_secret=client_secret)
# acquire token
accessToken = cred.get_token('https://ossrdbms-aad.database.windows.net/.default')
A fájl beállításakor kérje le az Azure MySQL-adatbázis adatait a Service Connector szolgáltatás által hozzáadott környezeti változókból. Az adatbázis eléréséhez használja accessToken az előző lépésben beszerzett adatokat.
# in your setting file, eg. settings.py
host = os.getenv('AZURE_MYSQL_HOST')
database = os.getenv('AZURE_MYSQL_NAME')
user = os.getenv('AZURE_MYSQL_USER')
password = accessToken.token # this is accessToken acquired from above step.
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': database,
'USER': user,
'PASSWORD': password,
'HOST': host
}
}
Telepítse a függőségeket.
go get "github.com/go-sql-driver/mysql"
go get "github.com/Azure/azure-sdk-for-go/sdk/azidentity"
go get "github.com/Azure/azure-sdk-for-go/sdk/azcore"
Kódban szerezze be a hozzáférési jogkivonatot, azidentitymajd csatlakozzon az Azure MySQL-hez a jogkivonattal. 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 (
"context"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/policy"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/go-sql-driver/mysql"
)
func main() {
// Uncomment the following lines corresponding to the authentication type you want to use.
// for system-assigned managed identity
// cred, err := azidentity.NewDefaultAzureCredential(nil)
// for user-assigned managed identity
// clientid := os.Getenv("AZURE_MYSQL_CLIENTID")
// azidentity.ManagedIdentityCredentialOptions.ID := clientid
// options := &azidentity.ManagedIdentityCredentialOptions{ID: clientid}
// cred, err := azidentity.NewManagedIdentityCredential(options)
// for service principal
// clientid := os.Getenv("AZURE_MYSQL_CLIENTID")
// tenantid := os.Getenv("AZURE_MYSQL_TENANTID")
// clientsecret := os.Getenv("AZURE_MYSQL_CLIENTSECRET")
// cred, err := azidentity.NewClientSecretCredential(tenantid, clientid, clientsecret, &azidentity.ClientSecretCredentialOptions{})
if err != nil {
}
ctx, cancel := context.WithTimeout(context.Background(), 30*time.Second)
token, err := cred.GetToken(ctx, policy.TokenRequestOptions{
Scopes: []string("https://ossrdbms-aad.database.windows.net/.default"),
})
connectionString := os.Getenv("AZURE_MYSQL_CONNECTIONSTRING") + ";Password=" + token.Token
db, err := sql.Open("mysql", connectionString)
}
Hozzáférési jogkivonat és @azure/identity Azure MySQL-adatbázis adatainak lekérése a Service Connector szolgáltatás á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 { DefaultAzureCredential,ClientSecretCredential } from "@azure/identity";
const mysql = require('mysql2');
// Uncomment the following lines corresponding to the authentication type you want to use.
// for system-assigned managed identity
// const credential = new DefaultAzureCredential();
// for user-assigned managed identity
// const clientId = process.env.AZURE_MYSQL_CLIENTID;
// const credential = new DefaultAzureCredential({
// managedIdentityClientId: clientId
// });
// for service principal
// const tenantId = process.env.AZURE_MYSQL_TENANTID;
// const clientId = process.env.AZURE_MYSQL_CLIENTID;
// const clientSecret = process.env.AZURE_MYSQL_CLIENTSECRET;
// const credential = new ClientSecretCredential(tenantId, clientId, clientSecret);
// acquire token
var accessToken = await credential.getToken('https://ossrdbms-aad.database.windows.net/.default');
const connection = mysql.createConnection({
host: process.env.AZURE_MYSQL_HOST,
user: process.env.AZURE_MYSQL_USER,
password: accessToken.token,
database: process.env.AZURE_MYSQL_DATABASE,
port: process.env.AZURE_MYSQL_PORT,
ssl: process.env.AZURE_MYSQL_SSL
});
connection.connect((err) => {
if (err) {
console.error('Error connecting to MySQL database: ' + err.stack);
return;
}
console.log('Connected to MySQL database');
});
Más nyelvek esetén használja a Service Connector által a környezeti változókhoz megadott kapcsolati sztring és felhasználónevet az adatbázis csatlakoztatásához. A környezeti változók részleteiért lásd: Azure Database for MySQL integrálása a Service Connectornal.
Más nyelvek esetén használja a Service Connector által a környezeti változókhoz megadott kapcsolati sztring és felhasználónevet az adatbázis csatlakoztatásához. A környezeti változók részleteiért lásd: Azure Database for MySQL integrálása a Service Connectornal.
Más nyelvek esetén használja a Service Connector által a környezeti változókhoz megadott kapcsolati tulajdonságokat az adatbázis csatlakoztatásához. A környezeti változók részleteiért lásd: Azure Database for MySQL integrálása a Service Connectornal.
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.
Miután létrehozott egy ügyféltípus-kapcsolatotspringboot, a Service Connector szolgáltatás automatikusan hozzáadja a tulajdonságokat spring.datasource.url, spring.datasource.username. spring.datasource.password Így a Spring boot alkalmazás automatikusan hozzáadhat babot.
Kódban kérje le a MySQL-kapcsolati sztring a Service Connector szolgáltatás által hozzáadott környezeti változókból. Ha SSL-en keresztül szeretne titkosított kapcsolatot létesíteni a MySQL-kiszolgálóval, tekintse meg ezeket a lépéseket.
using System;
using System.Data;
using MySql.Data.MySqlClient;
string connectionString = Environment.GetEnvironmentVariable("AZURE_MYSQL_CONNECTIONSTRING");
using (MySqlConnection connection = new MySqlConnection(connectionString))
{
connection.Open();
}
Telepítse a függőségeket. Kövesse az útmutatót az Összekötő/J telepítéséhez.
Kódban kérje le a MySQL-kapcsolati sztring a Service Connector szolgáltatás által hozzáadott környezeti változókból. Ha SSL-en keresztül szeretne titkosított kapcsolatot létesíteni a MySQL-kiszolgálóval, tekintse meg ezeket a lépéseket.
Normál Spring App-alkalmazás beállítása, részletesebben ebben a szakaszban. Ha SSL-en keresztül szeretne titkosított kapcsolatot létesíteni a MySQL-kiszolgálóval, tekintse meg ezeket a lépéseket.
Telepítse a függőségeket. Kövesse az útmutatót az Összekötő/Python telepítéséhez.
Kódban kérje le a MySQL kapcsolati adatait a Service Connector szolgáltatás által hozzáadott környezeti változókból. Ha SSL-en keresztül szeretne titkosított kapcsolatot létesíteni a MySQL-kiszolgálóval, tekintse meg ezeket a lépéseket.
A fájl beállításakor kérje le a MySQL-adatbázis adatait a Service Connector szolgáltatás által hozzáadott környezeti változókból. Ha SSL-en keresztül szeretne titkosított kapcsolatot létesíteni a MySQL-kiszolgálóval, tekintse meg ezeket a lépéseket.
Kódban kérje le a MySQL-kapcsolati sztring a Service Connector szolgáltatás által hozzáadott környezeti változókból. Ha SSL-en keresztül szeretne titkosított kapcsolatot létesíteni a MySQL-kiszolgálóval, tekintse meg ezeket a lépéseket.
Kódban kérje le a MySQL kapcsolati adatait a Service Connector szolgáltatás által hozzáadott környezeti változókból. Ha SSL-en keresztül szeretne titkosított kapcsolatot létesíteni a MySQL-kiszolgálóval, tekintse meg ezeket a lépéseket.
const mysql = require('mysql2')
const connection = mysql.createConnection({
host: process.env.AZURE_MYSQL_HOST,
user: process.env.AZURE_MYSQL_USER,
password: process.env.AZURE_MYSQL_PASSWORD,
database: process.env.AZURE_MYSQL_DATABASE,
port: Number(process.env.AZURE_MYSQL_PORT) ,
// ssl: process.env.AZURE_MYSQL_SSL
});
connection.connect((err) => {
if (err) {
console.error('Error connecting to MySQL database: ' + err.stack);
return;
}
console.log('Connected to MySQL database.');
});
Telepítse a függőségeket. Kövesse az útmutatót a MySQLi telepítéséhez.
Kódban kérje le a MySQL kapcsolati adatait a Service Connector szolgáltatás által hozzáadott környezeti változókból. Ha SSL-en keresztül szeretne titkosított kapcsolatot létesíteni a MySQL-kiszolgálóval, tekintse meg ezeket a lépéseket.
Kódban kérje le a MySQL kapcsolati adatait a Service Connector szolgáltatás által hozzáadott környezeti változókból. Ha SSL-en keresztül szeretne titkosított kapcsolatot létesíteni a MySQL-kiszolgálóval, tekintse meg ezeket a lépéseket.
Más nyelvek esetén használja a Service Connector által a környezeti változókhoz megadott kapcsolati tulajdonságokat az adatbázis csatlakoztatásához. A környezeti változók részleteiért lásd: Azure Database for MySQL integrálása a Service Connectornal.
A .NET esetében nincs beépülő modul vagy tár a jelszó nélküli kapcsolatok támogatásához. A felügyelt identitáshoz vagy szolgáltatásnévhez hozzáférési jogkivonatot kérhet le az olyan ügyfélkódtárak használatával, mint az Azure.Identity. Ezután jelszóként használhatja a hozzáférési jogkivonatot az adatbázishoz való csatlakozáshoz. 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.
using Azure.Core;
using Azure.Identity;
using MySqlConnector;
// Uncomment the following lines corresponding to the authentication type you want to use.
// For system-assigned managed identity.
// var credential = new DefaultAzureCredential();
// For user-assigned managed identity.
// var credential = new DefaultAzureCredential(
// new DefaultAzureCredentialOptions
// {
// ManagedIdentityClientId = Environment.GetEnvironmentVariable("AZURE_MYSQL_CLIENTID");
// });
// For service principal.
// var tenantId = Environment.GetEnvironmentVariable("AZURE_MYSQL_TENANTID");
// var clientId = Environment.GetEnvironmentVariable("AZURE_MYSQL_CLIENTID");
// var clientSecret = Environment.GetEnvironmentVariable("AZURE_MYSQL_CLIENTSECRET");
// var credential = new ClientSecretCredential(tenantId, clientId, clientSecret);
var tokenRequestContext = new TokenRequestContext(
new[] { "https://ossrdbms-aad.database.windows.net/.default" });
AccessToken accessToken = await credential.GetTokenAsync(tokenRequestContext);
// Open a connection to the MySQL server using the access token.
string connectionString =
$"{Environment.GetEnvironmentVariable("AZURE_MYSQL_CONNECTIONSTRING")};Password={accessToken.Token}";
using var connection = new MySqlConnection(connectionString);
Console.WriteLine("Opening connection using access token...");
await connection.OpenAsync();
// do something
Adja hozzá a következő függőségeket a pom.xml fájlhoz:
Spring-alkalmazások esetén, ha egy beállítással --client-type springboothoz létre kapcsolatot, a Service Connector beállítja a tulajdonságokat spring.datasource.azure.passwordless-enabled, spring.datasource.urlés spring.datasource.username az Azure Spring Appshez.
Frissítse az alkalmazást az azure database for MySQL-példány csatlakoztatása az alkalmazáshoz az Azure Spring Appsben 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 a Spring-alkalmazáshoz.
Hitelesítés hozzáférési jogkivonattal a kódtáron keresztül azure-identity , és kapcsolati információk lekérése 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.
from azure.identity import ManagedIdentityCredential, ClientSecretCredential
import mysql.connector
import os
# Uncomment the following lines corresponding to the authentication type you want to use.
# For system-assigned managed identity.
# cred = ManagedIdentityCredential()
# For user-assigned managed identity.
# managed_identity_client_id = os.getenv('AZURE_MYSQL_CLIENTID')
# cred = ManagedIdentityCredential(client_id=managed_identity_client_id)
# For service principal
# tenant_id = os.getenv('AZURE_MYSQL_TENANTID')
# client_id = os.getenv('AZURE_MYSQL_CLIENTID')
# client_secret = os.getenv('AZURE_MYSQL_CLIENTSECRET')
# cred = ClientSecretCredential(tenant_id=tenant_id, client_id=client_id, client_secret=client_secret)
# acquire token
accessToken = cred.get_token('https://ossrdbms-aad.database.windows.net/.default')
# open connect to Azure MySQL with the access token.
host = os.getenv('AZURE_MYSQL_HOST')
database = os.getenv('AZURE_MYSQL_NAME')
user = os.getenv('AZURE_MYSQL_USER')
password = accessToken.token
cnx = mysql.connector.connect(user=user,
password=password,
host=host,
database=database)
cnx.close()
Telepítse a függőségeket.
pip install azure-identity
Hozzáférési jogkivonat lekérése táron keresztül azure-identity a Service Connector által hozzáadott környezeti változókkal. 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.
from azure.identity import ManagedIdentityCredential, ClientSecretCredential
import os
# Uncomment the following lines corresponding to the authentication type you want to use.
# system-assigned managed identity
# cred = ManagedIdentityCredential()
# user-assigned managed identity
# managed_identity_client_id = os.getenv('AZURE_MYSQL_CLIENTID')
# cred = ManagedIdentityCredential(client_id=managed_identity_client_id)
# service principal
# tenant_id = os.getenv('AZURE_MYSQL_TENANTID')
# client_id = os.getenv('AZURE_MYSQL_CLIENTID')
# client_secret = os.getenv('AZURE_MYSQL_CLIENTSECRET')
# cred = ClientSecretCredential(tenant_id=tenant_id, client_id=client_id, client_secret=client_secret)
# acquire token
accessToken = cred.get_token('https://ossrdbms-aad.database.windows.net/.default')
A fájl beállításakor kérje le az Azure MySQL-adatbázis adatait a Service Connector szolgáltatás által hozzáadott környezeti változókból. Az adatbázis eléréséhez használja accessToken az előző lépésben beszerzett adatokat.
# in your setting file, eg. settings.py
host = os.getenv('AZURE_MYSQL_HOST')
database = os.getenv('AZURE_MYSQL_NAME')
user = os.getenv('AZURE_MYSQL_USER')
password = accessToken.token # this is accessToken acquired from above step.
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': database,
'USER': user,
'PASSWORD': password,
'HOST': host
}
}
Telepítse a függőségeket.
go get "github.com/go-sql-driver/mysql"
go get "github.com/Azure/azure-sdk-for-go/sdk/azidentity"
go get "github.com/Azure/azure-sdk-for-go/sdk/azcore"
Kódban szerezze be a hozzáférési jogkivonatot, azidentitymajd csatlakozzon az Azure MySQL-hez a jogkivonattal. 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 (
"context"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/policy"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/go-sql-driver/mysql"
)
func main() {
// Uncomment the following lines corresponding to the authentication type you want to use.
// for system-assigned managed identity
// cred, err := azidentity.NewDefaultAzureCredential(nil)
// for user-assigned managed identity
// clientid := os.Getenv("AZURE_MYSQL_CLIENTID")
// azidentity.ManagedIdentityCredentialOptions.ID := clientid
// options := &azidentity.ManagedIdentityCredentialOptions{ID: clientid}
// cred, err := azidentity.NewManagedIdentityCredential(options)
// for service principal
// clientid := os.Getenv("AZURE_MYSQL_CLIENTID")
// tenantid := os.Getenv("AZURE_MYSQL_TENANTID")
// clientsecret := os.Getenv("AZURE_MYSQL_CLIENTSECRET")
// cred, err := azidentity.NewClientSecretCredential(tenantid, clientid, clientsecret, &azidentity.ClientSecretCredentialOptions{})
if err != nil {
}
ctx, cancel := context.WithTimeout(context.Background(), 30*time.Second)
token, err := cred.GetToken(ctx, policy.TokenRequestOptions{
Scopes: []string("https://ossrdbms-aad.database.windows.net/.default"),
})
connectionString := os.Getenv("AZURE_MYSQL_CONNECTIONSTRING") + ";Password=" + token.Token
db, err := sql.Open("mysql", connectionString)
}
Hozzáférési jogkivonat és @azure/identity Azure MySQL-adatbázis adatainak lekérése a Service Connector szolgáltatás á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 { DefaultAzureCredential,ClientSecretCredential } from "@azure/identity";
const mysql = require('mysql2');
// Uncomment the following lines corresponding to the authentication type you want to use.
// for system-assigned managed identity
// const credential = new DefaultAzureCredential();
// for user-assigned managed identity
// const clientId = process.env.AZURE_MYSQL_CLIENTID;
// const credential = new DefaultAzureCredential({
// managedIdentityClientId: clientId
// });
// for service principal
// const tenantId = process.env.AZURE_MYSQL_TENANTID;
// const clientId = process.env.AZURE_MYSQL_CLIENTID;
// const clientSecret = process.env.AZURE_MYSQL_CLIENTSECRET;
// const credential = new ClientSecretCredential(tenantId, clientId, clientSecret);
// acquire token
var accessToken = await credential.getToken('https://ossrdbms-aad.database.windows.net/.default');
const connection = mysql.createConnection({
host: process.env.AZURE_MYSQL_HOST,
user: process.env.AZURE_MYSQL_USER,
password: accessToken.token,
database: process.env.AZURE_MYSQL_DATABASE,
port: process.env.AZURE_MYSQL_PORT,
ssl: process.env.AZURE_MYSQL_SSL
});
connection.connect((err) => {
if (err) {
console.error('Error connecting to MySQL database: ' + err.stack);
return;
}
console.log('Connected to MySQL database');
});
Más nyelvek esetén használja a Service Connector által a környezeti változókhoz megadott kapcsolati sztring és felhasználónevet az adatbázis csatlakoztatásához. A környezeti változók részleteiért lásd: Azure Database for MySQL integrálása a Service Connectornal.
Más nyelvek esetén használja a Service Connector által a környezeti változókhoz megadott kapcsolati sztring és felhasználónevet az adatbázis csatlakoztatásához. A környezeti változók részleteiért lásd: Azure Database for MySQL integrálása a Service Connectornal.
Más nyelvek esetén használja a Service Connector által a környezeti változókhoz megadott kapcsolati tulajdonságokat az adatbázis csatlakoztatásához. A környezeti változók részleteiért lásd: Azure Database for MySQL integrálása a Service Connectornal.