Поделиться через


Создание и использование управляемых частных конечных точек

Пользователи с разрешениями администратора для рабочей области Microsoft Fabric могут создавать, просматривать и удалять управляемые частные конечные точки на портале Fabric с помощью параметров рабочей области.

  • Пользователь также может отслеживать состояние и процесс утверждения управляемых частных конечных точек из раздела "Безопасность сети" параметров рабочей области.

  • Пользователь может получить доступ к источникам данных с помощью имени частной конечной точки из рабочих нагрузок Spark Fabric.

Необходимые компоненты

Поставщик ресурсов Microsoft.Network должен быть зарегистрирован в подписке Azure.

Создание управляемой частной конечной точки

  1. В рабочей области Fabric перейдите к параметрам рабочей области, перейдите на вкладку "Безопасность сети", а затем выберите пункт "Создать " в разделе "Управляемая частная конечная точка".

    Снимок экрана: вкладка

    Откроется диалоговое окно "Создание управляемой частной конечной точки ".

    Снимок экрана: вкладка

  2. Укажите имя частной конечной точки и скопируйте идентификатор ресурса для ресурса Azure. Идентификатор ресурса можно найти на вкладке свойств на странице портал Azure.

    Примечание.

    Создание управляемой частной конечной точки с полным доменным именем (FQDN) не поддерживается.

    Затем выберите Создать.

  3. После подготовки управляемой частной конечной точки состояние активации изменится на "Успешно".

    Снимок экрана: указание успешного выполнения подготовки управляемой частной конечной точки на вкладке

    Кроме того, запрос на доступ к частной конечной точке отправляется в источник данных. Администраторы источников данных уведомляются на страницах ресурсов портал Azure для их источников данных. Там они увидят ожидающий запрос доступа с сообщением запроса.

Принимая SQL Server в качестве примера, пользователи могут перейти к портал Azure и найти ресурс SQL Server.

  1. На странице "Ресурс" выберите "Сеть" в меню навигации и перейдите на вкладку "Частный доступ ".

    Снимок экрана: вкладка

  2. Администраторы источников данных должны иметь возможность просматривать активные подключения к частной конечной точке и новые запросы на подключение.

    Снимок экрана: ожидающие запросы на вкладке

  3. Администраторы могут утвердить или отклонить, предоставив бизнес-обоснование.

    Снимок экрана: форма утверждения.

  4. После утверждения или отклонения запроса администратором источника данных состояние обновляется на странице параметров рабочей области Fabric после обновления.

    Снимок экрана: управляемая частная конечная точка в утвержденном состоянии.

  5. Когда состояние изменилось на утверждение, конечная точка может использоваться в записных книжках или определениях заданий Spark для доступа к данным, хранящимся в источнике данных из рабочей области Fabric.

Использование управляемых частных конечных точек в Fabric

Записные книжки Microsoft Fabric поддерживают простое взаимодействие с источниками данных за защищенными сетями с помощью управляемых частных конечных точек для изучения и обработки данных. В записной книжке пользователи могут быстро считывать данные из защищенных источников данных (и записывать данные обратно в) в различных форматах файлов.

В этом руководстве приведены примеры кода, которые помогут вам приступить к работе с собственными записными книжками для доступа к данным из источников данных, таких как база данных SQL с помощью управляемых частных конечных точек.

Необходимые компоненты

  1. Доступ к источнику данных. В этом примере рассматривается Sql Server Azure и База данных SQL Azure.

  2. Войдите в Microsoft Fabric и портал Azure.

  3. Перейдите на страницу ресурсов SQL Server Azure в портал Azure и выберите меню "Свойства". Скопируйте идентификатор ресурса для SQL Server, к которому вы хотите подключиться из Microsoft Fabric.

  4. Выполнив действия, описанные в статье "Создание управляемой частной конечной точки", создайте управляемую частную конечную точку на странице параметров безопасности сети Fabric.

  5. После утверждения нового запроса подключения к частной конечной точке администратор источника данных сервера SQL Server сможет использовать только что созданную управляемую частную конечную точку.

Подключение к источнику данных из записных книжек

  1. Войдите на портал Microsoft Fabric.

  2. Используйте переключатель взаимодействия в левой части домашней страницы, чтобы переключить интерфейс разработки.

  3. При необходимости перейдите в нужную рабочую область или создайте новую.

  4. Чтобы создать записную книжку, выберите новый элемент из рабочей области и выберите "Записная книжка".

  5. Теперь в записной книжке, указав имя базы данных SQL и его свойства подключения, можно подключиться через подключение к управляемой частной конечной точке, настроенное для чтения таблиц в базе данных и записи их в lakehouse в Microsoft Fabric.

  6. В следующем коде PySpark показано, как подключиться к базе данных 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")

Теперь, когда подключение установлено, необходимо создать кадр данных для чтения таблицы в База данных SQL.

Поддерживаемые источники данных

Microsoft Fabric поддерживает более 26 источников данных для подключения к управляемым частным конечным точкам. Пользователям необходимо указать идентификатор ресурса, который можно найти на странице параметров свойства источника данных в портал Azure. Убедитесь, что формат идентификатора ресурса следует, как показано в следующей таблице.

Service Формат идентификатора ресурса
Службы 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 для MariaDB /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.DBforMariaDB/servers/{server-name}
База данных Azure для MySQL /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.DBforMySQL/servers/{server-name}
База данных Azure для PostgreSQL /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{server-name}
Azure Cosmos DB for 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}
Области приватных каналов 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 /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 /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Search/searchServices/{service-name}
База данных SQL Azure /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Sql/servers/{server-name}
База данных SQL Azure (Управляемый экземпляр SQL Azure) /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Sql/managedInstances/{имя_экземпляра}
Хранилище BLOB-объектов Azure /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Storage/storageAccounts/{storage-account-name}
Azure Data Lake Storage 2-го поколения /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 /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Storage/storageAccounts/{storage-account-name}
Хранилище таблиц Azure /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 (артефакты) /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Synapse/workspaces/{workspace-name}
Функции Azure /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Web/sites/{function-app-name}
Центры событий Azure /subscriptions/{subscription-id}/resourcegroups/{resource-group-name}/providers/Microsoft.EventHub/namespaces/{namespace-name}
Центр Интернета вещей Azure /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Devices/IotHubs/{iothub-name}