Opret og brug administrerede private slutpunkter
Brugere med administratortilladelser til et Microsoft Fabric-arbejdsområde kan oprette, få vist og slette administrerede private slutpunkter fra Fabric-portalen via indstillingerne for arbejdsområdet.
Brugeren kan også overvåge status og godkendelsesprocessen for de administrerede private slutpunkter fra afsnittet Netværkssikkerhed under indstillingerne for arbejdsområdet.
Brugeren kan få adgang til datakilderne ved hjælp af navnet på det private slutpunkt fra Fabric Spark-arbejdsbelastningerne.
Forudsætninger
En Microsoft.Network-ressourceudbyder skal være registreret i Azure-abonnementet
Opret et administreret privat slutpunkt
I et Fabric-arbejdsområde skal du navigere til indstillingerne for arbejdsområdet, vælge fanen Netværkssikkerhed og derefter vælge indstillingen Opret i afsnittet Administreret privat slutpunkt.
Dialogboksen Opret administreret privat slutpunkt åbnes.
Angiv et navn til det private slutpunkt, og kopiér ressource-id'et for Azure-ressourcen. Ressource-id'et findes under fanen Egenskaber på siden Azure-portal.
Bemærk
Oprettelse af et administreret privat slutpunkt med et fuldt kvalificeret domænenavn (FQDN) understøttes ikke.
Når du er færdig, skal du vælge Opret.
Når det administrerede private slutpunkt er klargjort, ændres aktiveringsstatus til Lykkedes.
Desuden sendes anmodningen om adgang til det private slutpunkt til datakilden. Datakildeadministratorerne får besked på Azure-portal ressourcesider for deres datakilder. Der får de vist en ventende anmodning om adgang med anmodningsmeddelelsen.
Med SQL Server som eksempel kan brugerne navigere til Azure-portal og søge efter "SQL Server"-ressourcen.
På siden Ressource skal du vælge Netværk i navigationsmenuen og derefter vælge fanen Privat adgang .
Datakildeadministratorer bør kunne få vist de aktive private slutpunktsforbindelser og nye forbindelsesanmodninger.
Administratorer kan enten godkende eller afvise ved at angive en forretningsberettigelse.
Når anmodningen er blevet godkendt eller afvist af datakildeadministratoren, opdateres status på siden med indstillinger for Fabric-arbejdsområdet ved opdatering.
Når status er ændret til godkendt, kan slutpunktet bruges i notesbøger eller Spark-jobdefinitioner til at få adgang til de data, der er gemt i datakilden fra Fabric-arbejdsområdet.
Brug administrerede private slutpunkter i Fabric
Microsoft Fabric-notesbøger understøtter problemfri interaktion med datakilder bag sikre netværk ved hjælp af administrerede private slutpunkter til dataudforskning og -behandling. I en notesbog kan brugerne hurtigt læse data fra deres beskyttede datakilder (og skrive data tilbage til) deres lakehouses i en række forskellige filformater.
Denne vejledning indeholder kodeeksempler, der hjælper dig med at komme i gang i dine egne notesbøger for at få adgang til data fra datakilder, f.eks. SQL DB via administrerede private slutpunkter.
Forudsætninger
Adgang til datakilden. I dette eksempel ser vi på Azure SQL Server og Azure SQL Database.
Log på Microsoft Fabric og Azure-portal.
Gå til Ressourcesiden for Azure SQL Server i Azure-portal, og vælg menuen Egenskaber. Kopiér ressource-id'et for den SQL Server, du vil oprette forbindelse til fra Microsoft Fabric.
Ved hjælp af de trin, der er angivet i Opret et administreret privat slutpunkt, skal du oprette det administrerede private slutpunkt fra siden med sikkerhedsindstillinger for Fabric Network.
Når sql-serverens datakildeadministrator har godkendt den nye anmodning om forbindelse til private slutpunkter, bør du kunne bruge det nyligt oprettede administrerede private slutpunkt.
Opret forbindelse til datakilden fra notesbøger
Log på Microsoft Fabric-portalen.
Brug oplevelsesskifteren i venstre side af startsiden til at skifte udviklingsoplevelsen.
Gå til det ønskede arbejdsområde, eller opret et nyt, hvis det er nødvendigt.
Hvis du vil oprette en notesbog, skal du vælge Nyt element i arbejdsområdet og vælge Notesbog.
Nu kan du i notesbogen ved at angive navnet på SQL-databasen og dens forbindelsesegenskaber oprette forbindelse via den administrerede private slutpunktsforbindelse, der er konfigureret til at læse tabellerne i databasen og skrive dem til dit lakehouse i Microsoft Fabric.
Følgende PySpark-kode viser, hvordan du opretter forbindelse til en SQL-database.
serverName = "<server_name>.database.windows.net"
database = "<database_name>"
dbPort = 1433
dbUserName = "<username>"
dbPassword = “<db password> or reference based on Keyvault>”
from pyspark.sql import SparkSession
spark = SparkSession.builder \
.appName("Example") \
.config("spark.jars.packages", "com.microsoft.azure:azure-sqldb-spark:1.0.2") \
.config("spark.sql.catalogImplementation", "com.microsoft.azure.synapse.spark") \
.config("spark.sql.catalog.testDB", "com.microsoft.azure.synapse.spark") \
.config("spark.sql.catalog.testDB.spark.synapse.linkedServiceName", "AzureSqlDatabase") \ .config("spark.sql.catalog.testDB.spark.synapse.linkedServiceName.connectionString", f"jdbc:sqlserver://{serverName}:{dbPort};database={database};user={dbUserName};password={dbPassword}") \ .getOrCreate()
jdbcURL = "jdbc:sqlserver://{0}:{1};database={2}".format(serverName,dbPort,database)
connection = {"user":dbUserName,"password":dbPassword,"driver": "com.microsoft.sqlserver.jdbc.SQLServerDriver"}
df = spark.read.jdbc(url=jdbcURL, table = "dbo.Employee", properties=connection)
df.show()
display(df)
# Write the dataframe as a delta table in your lakehouse
df.write.mode("overwrite").format("delta").saveAsTable("Employee")
# You can also specify a custom path for the table location
# df.write.mode("overwrite").format("delta").option("path", "abfss://yourlakehouse.dfs.core.windows.net/Employee").saveAsTable("Employee")
Nu, hvor forbindelsen er oprettet, er næste trin at oprette en dataramme for at læse tabellen i SQL-databasen.
Understøttede datakilder
Microsoft Fabric understøtter mere end 26 datakilder til at oprette forbindelse til ved hjælp af administrerede private slutpunkter. Brugerne skal angive ressource-id'et, som findes på siden Med indstillinger for egenskaber i deres datakilde i Azure-portal. Sørg for, at ressource-id-formatet følges som vist i følgende tabel.
Tjeneste | Ressource-id-format |
---|---|
Cognitive Services | /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.CognitiveServices/accounts/{resource-name} |
Azure Databricks | /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Databricks/workspaces/{workspace-name} |
Azure Database for MariaDB | /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.DBforMariaDB/servers/{server-name} |
Azure Database for MySQL | /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.DBforMySQL/servers/{server-name} |
Azure Database for PostgreSQL | /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{server-name} |
Azure Cosmos DB til MongoDB | /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.DocumentDB/databaseAccounts/{account-name} |
Azure Cosmos DB til NoSQL | /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.DocumentDB/databaseAccounts/{account-name} |
Områder for private links i Azure Monitor | /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Insights/privateLinkScopes/{scope-name} |
Azure Key Vault | /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.KeyVault/vaults/{vault-name} |
Azure Data Explorer (Kusto) | /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Kusto/clusters/{cluster-name} |
Azure Machine Learning | /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.MachineLearningServices/workspaces/{workspace-name} |
Microsoft Purview | /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Purview/accounts/{account-name} |
Azure Search | /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Search/searchServices/{service-name} |
Azure SQL Database | /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Sql/servers/{server-name} |
Azure SQL Database (Azure SQL Managed Instance) | /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Sql/managedInstances/{instance-name} |
Azure Blob Storage | /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Storage/storageAccounts/{storage-account-name} |
Azure Data Lake Storage Gen2 | /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Storage/storageAccounts/{storage-account-name} |
Azure File Storage | /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Storage/storageAccounts/{storage-account-name} |
Azure Queue Storage | /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Storage/storageAccounts/{storage-account-name} |
Azure-tabellager | /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Storage/storageAccounts/{storage-account-name} |
Azure Synapse Analytics | /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Synapse/workspaces/{workspace-name} |
Azure Synapse Analytics (Artifacts) | /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Synapse/workspaces/{workspace-name} |
Azure Functions | /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Web/sites/{function-app-name} |
Azure Event Hubs | /subscriptions/{subscription-id}/resourcegroups/{resource-group-name}/providers/Microsoft.EventHub/namespaces/{namespace-name} |
Azure IoT Hub | /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Devices/IotHubs/{iothub-name} |