Tworzenie zarządzanych prywatnych punktów końcowych i korzystanie z nich
Użytkownicy z uprawnieniami administratora do obszaru roboczego usługi Microsoft Fabric mogą tworzyć, wyświetlać i usuwać zarządzane prywatne punkty końcowe z portalu sieci szkieletowej za pośrednictwem ustawień obszaru roboczego.
Użytkownik może również monitorować stan i proces zatwierdzania zarządzanych prywatnych punktów końcowych w sekcji Zabezpieczenia sieci w ustawieniach obszaru roboczego.
Użytkownik może uzyskać dostęp do źródeł danych przy użyciu nazwy prywatnego punktu końcowego z obciążeń platformy Spark sieci szkieletowej.
Tworzenie zarządzanego prywatnego punktu końcowego
W obszarze roboczym Sieć szkieletowa przejdź do ustawień obszaru roboczego, wybierz kartę Zabezpieczenia sieciowe, a następnie wybierz opcję Utwórz w sekcji Zarządzany prywatny punkt końcowy.
Zostanie otwarte okno dialogowe Tworzenie zarządzanego prywatnego punktu końcowego .
Określ nazwę prywatnego punktu końcowego i skopiuj identyfikator zasobu platformy Azure. Identyfikator zasobu można znaleźć na karcie właściwości na stronie witryny Azure Portal.
Uwaga
Tworzenie zarządzanego prywatnego punktu końcowego z w pełni kwalifikowaną nazwą domeny (FQDN) nie jest obsługiwane.
Po zakończeniu wybierz pozycję Utwórz.
Po aprowizacji zarządzanego prywatnego punktu końcowego stan aktywacji zmieni się na Powodzenie.
Ponadto żądanie dostępu prywatnego punktu końcowego jest wysyłane do źródła danych. Administratorzy źródła danych są powiadamiani na stronach zasobów witryny Azure Portal dla swoich źródeł danych. W tym miejscu zobaczysz oczekujące żądanie dostępu z komunikatem o żądaniu.
Biorąc pod uwagę na przykład program SQL Server, użytkownicy mogą przejść do witryny Azure Portal i wyszukać zasób "SQL Server".
Na stronie Zasób wybierz pozycję Sieć z menu nawigacji, a następnie wybierz kartę Dostęp prywatny.
Administratorzy źródła danych powinni mieć możliwość wyświetlania aktywnych połączeń prywatnych punktów końcowych i nowych żądań połączenia.
Administratorzy mogą zatwierdzać lub odrzucać, podając uzasadnienie biznesowe.
Po zatwierdzeniu lub odrzuceniu żądania przez administratora źródła danych stan zostanie zaktualizowany na stronie Ustawienia obszaru roboczego sieci szkieletowej po odświeżeniu.
Po zmianie stanu na zatwierdzony punkt końcowy może być używany w notesach lub definicjach zadań platformy Spark w celu uzyskania dostępu do danych przechowywanych w źródle danych z obszaru roboczego sieci szkieletowej.
Używanie zarządzanych prywatnych punktów końcowych w sieci szkieletowej
Notesy usługi Microsoft Fabric obsługują bezproblemową interakcję ze źródłami danych za zabezpieczonymi sieciami przy użyciu zarządzanych prywatnych punktów końcowych na potrzeby eksploracji i przetwarzania danych. W notesie użytkownicy mogą szybko odczytywać dane ze swoich chronionych źródeł danych (i zapisywać je z powrotem) w różnych formatach plików.
Ten przewodnik zawiera przykłady kodu ułatwiające rozpoczęcie pracy z własnymi notesami w celu uzyskiwania dostępu do danych ze źródeł danych, takich jak baza danych SQL DB za pośrednictwem zarządzanych prywatnych punktów końcowych.
Wymagania wstępne
Dostęp do źródła danych. W tym przykładzie przedstawiono usługi Azure SQL Server i Azure SQL Database.
Zaloguj się do usługi Microsoft Fabric i witryny Azure Portal.
Przejdź do strony zasobów programu Azure SQL Server w witrynie Azure Portal i wybierz menu Właściwości . Skopiuj identyfikator zasobu dla programu SQL Server, z którym chcesz nawiązać połączenie z usługi Microsoft Fabric.
Wykonując kroki opisane w sekcji Tworzenie zarządzanego prywatnego punktu końcowego, utwórz zarządzany prywatny punkt końcowy na stronie Ustawienia zabezpieczeń sieci szkieletowej.
Gdy administrator źródła danych serwera SQL zatwierdził nowe żądanie połączenia prywatnego punktu końcowego, powinno być możliwe użycie nowo utworzonego zarządzanego prywatnego punktu końcowego.
Nawiązywanie połączenia ze źródłem danych z notesów
Zaloguj się do portalu usługi Microsoft Fabric.
Użyj przełącznika środowiska po lewej stronie głównej, aby przełączyć środowisko programowania .
W razie potrzeby przejdź do żądanego obszaru roboczego lub utwórz nowy.
Aby utworzyć notes, wybierz pozycję Nowy element z obszaru roboczego i wybierz pozycję Notes.
Teraz w notesie, określając nazwę bazy danych SQL i jej właściwości połączenia, możesz nawiązać połączenie za pośrednictwem zarządzanego połączenia prywatnego punktu końcowego, które zostało skonfigurowane w celu odczytania tabel w bazie danych i zapisania ich w usłudze Lakehouse w usłudze Microsoft Fabric.
Poniższy kod PySpark pokazuje, jak nawiązać połączenie z bazą danych SQL.
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")
Po nawiązaniu połączenia następnym krokiem jest utworzenie ramki danych w celu odczytania tabeli w usłudze SQL Database.
Obsługiwane źródła danych
Usługa Microsoft Fabric obsługuje ponad 26 źródeł danych w celu nawiązania połączenia z użyciem zarządzanych prywatnych punktów końcowych. Użytkownicy muszą określić identyfikator zasobu, który można znaleźć na stronie Ustawienia właściwości źródła danych w witrynie Azure Portal. Upewnij się, że format identyfikatora zasobu jest obserwowany, jak pokazano w poniższej tabeli.
Usługa | Format identyfikatora zasobu |
---|---|
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/{nazwa_serwera} |
Azure Database for MySQL | /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.DBforMySQL/servers/{nazwa_serwera} |
Azure Database for PostgreSQL | /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{nazwa_serwera} |
Usługa Azure Cosmos DB dla bazy danych MongoDB | /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.DocumentDB/databaseAccounts/{account-name} |
Azure Cosmos DB for NoSQL | /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.DocumentDB/databaseAccounts/{account-name} |
Zakresy usługi Azure Monitor Private Link | /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Insights/privateLinkScopes/{nazwa-zakresu} |
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/{nazwa-klastra} |
Azure Machine Learning | /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.MachineLearningServices/workspaces/{nazwa_obszaru roboczego} |
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 Table Storage | /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 (artefakty) | /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} |