Crear y usar puntos de conexión privados administrados
Los usuarios con permisos de administrador en un área de trabajo de Microsoft Fabric pueden crear, ver y eliminar puntos de conexión privados administrados desde el portal de Fabric a través de la configuración del área de trabajo.
El usuario también puede supervisar el estado y el proceso de aprobación de los puntos de conexión privados administrados desde la sección Seguridad de red de la configuración del área de trabajo.
El usuario puede acceder a los orígenes de datos mediante el nombre del punto de conexión privado de las cargas de trabajo Spark de Fabric.
Creación de un punto de conexión privado administrado
En un área de trabajo de Fabric, vaya a los valores del área de trabajo, seleccione la pestaña Seguridad de red y después la opción Crear en la sección Punto de conexión privado administrado.
Se abre el cuadro de diálogo Crear punto de conexión privado administrado.
Especifica un nombre para el punto de conexión privado y copie el identificador del recurso de Azure. El identificador del recurso se puede encontrar en la pestaña Propiedades de la página de Azure Portal.
Cuando haya terminado, seleccione Crear.
Cuando se ha aprovisionado el punto de conexión privado administrado, el estado de activación cambia a Completado con éxito.
Además, la solicitud de acceso al punto de conexión privado se envía al origen de datos. Los administradores de orígenes de datos reciben una notificación en las páginas de recursos de Azure Portal para sus orígenes de datos. Allí verán una solicitud de acceso pendiente con el mensaje de solicitud.
Con SQL Server como ejemplo, los usuarios pueden navegar a Azure Portal y buscar el recurso "SQL Server".
En la página Recurso, seleccione Redes en el menú de navegación y, después, la pestaña Acceso privado.
Los administradores de orígenes de datos deben poder ver las conexiones de punto de conexión privado activas y las nuevas solicitudes de conexión.
Los administradores pueden Aprobar o Rechazar proporcionando una justificación comercial.
Una vez que el administrador del origen de datos ha aprobado o rechazado la solicitud, el estado se actualiza en la página de configuración del área de trabajo de Fabric tras la actualización.
Cuando el estado ha cambiado a Aprobado, el punto de conexión se puede usar en cuadernos o definiciones de trabajo Spark para acceder a los datos almacenados en el origen de datos desde el área de trabajo de Fabric.
Uso de puntos de conexión privados administrados en Fabric
Los cuadernos de Microsoft Fabric admiten una interacción perfecta con orígenes de datos detrás de redes protegidas mediante puntos de conexión privados administrados para la exploración y el procesamiento de datos. Dentro de un cuaderno, los usuarios pueden leer rápidamente datos de sus recursos de datos protegidos (y volver a escribirlos) en sus lagos de datos en diversos formatos de archivo.
En esta guía se proporcionan ejemplos de código que le ayudarán a empezar a trabajar en cuadernos propios para acceder a datos de orígenes de datos como SQL DB desde puntos de conexión privados administrados.
Requisitos previos
Acceda al origen de datos. Este ejemplo se examinan la base de datos de Azure SQL y Azure SQL Server.
Inicie sesión en Microsoft Fabric y Azure Portal.
Vaya a la página de recursos de Azure SQL Server en Azure Portal y seleccione el menú Propiedades. Copie el identificador de recurso de SQL Server al que quiera conectarse desde Microsoft Fabric.
Con los pasos indicados en Creación de un punto de conexión privado administrado, cree el punto de conexión privado administrado desde la página Configuración de seguridad de red de Fabric.
Una vez que el administrador del origen de datos del servidor SQL Server ha aprobado la nueva solicitud de conexión de punto de conexión privado, debería poder usar el punto de conexión privado administrado recién creado.
Conectaxión al origen de datos desde cuadernos
En el área de trabajo de Microsoft Fabric, use el conmutador de experiencias en el lado izquierdo de la página principal para cambiar a la experiencia Ingeniería de datos de Synapse.
Seleccione Crear para crear un cuaderno.
Ahora, en el cuaderno, especificando el nombre de SQL Database y sus propiedades de conexión, puede conectarse mediante la conexión de punto de conexión privado administrado que se ha configurado para leer las tablas de la base de datos y escribirlas en la instancia de lago de datos en Microsoft Fabric.
En el siguiente código de PySpark se muestra cómo conectarse a una instancia de 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")
Ahora que se ha establecido la conexión, el siguiente paso consiste en crear una trama de datos para leer la tabla en SQL Database.
Orígenes de datos compatibles
Microsoft Fabric admite más de 26 orígenes de datos para conectarse mediante puntos de conexión privados administrados. Los usuarios deben especificar el identificador de recursos, que se puede encontrar en en la página de configuración Propiedades de su origen de datos en Azure Portal. Asegúrese de que se sigue el formato de identificador de recurso, como se muestra en la tabla siguiente.
Service | Formato del identificador de recurso |
---|---|
Cognitive Services | /subscriptions/{id-de-la-suscripción}/resourceGroups/{nombre-del-grupo-de-recursos}/providers/Microsoft.CognitiveServices/accounts/{nombre-del-recurso} |
Azure Databricks | /subscriptions/{id-de-la-suscripción}/resourceGroups/{nombre-del-grupo-de-recursos}/providers/Microsoft.Databricks/workspaces/{nombre-del-área-de-trabajo} |
Azure Database for MariaDB | /subscriptions/{id-de-la-suscripción}/resourceGroups/{nombre-del-grupo-de-recursos}/providers/Microsoft.DBforMariaDB/servers/{nombre-del-servidor} |
Azure Database for MySQL | /subscriptions/{id-de-la-suscripción}/resourceGroups/{nombre-del-grupo-de-recursos}/providers/Microsoft.DBforMySQL/servers/{nombre-del-servidor} |
Azure Database para PostgreSQL | /subscriptions/{id-de-la-suscripción}/resourceGroups/{nombre-del-grupo-de-recursos}/providers/Microsoft.DBforPostgreSQL/servers/{nombre-del-servidor} |
Azure Cosmos DB for MongoDB | /subscriptions/{id-de-la-suscripción}/resourceGroups/{nombre-del-grupo-de-recursos}/providers/Microsoft.DocumentDB/databaseAccounts/{nombre-de-la-cuenta} |
Azure Cosmos DB para NoSQL | /subscriptions/{id-de-la-suscripción}/resourceGroups/{nombre-del-grupo-de-recursos}/providers/Microsoft.DocumentDB/databaseAccounts/{nombre-de-la-cuenta} |
Ámbitos de Private Link de Azure Monitor | /subscriptions/{id-de-la-suscripción}/resourceGroups/{nombre-del-grupo-de-recursos}/providers/Microsoft.Insights/privateLinkScopes/{nombre-del-ámbito} |
Azure Key Vault | /subscriptions/{id-de-la-suscripción}/resourceGroups/{nombre-del-grupo-de-recursos}/providers/Microsoft.KeyVault/vaults/{nombre-del-almacén} |
Azure Data Explorer (Kusto) | /subscriptions/{id-de-la-suscripción}/resourceGroups/{nombre-del-grupo-de-recursos}/providers/Microsoft.Kusto/clusters/{nombre-del-clúster} |
Azure Machine Learning | /subscriptions/{id-de-la-suscripción}/resourceGroups/{nombre-del-grupo-de-recursos}/providers/Microsoft.MachineLearningServices/workspaces/{nombre-del-área-de-trabajo} |
Servicio Private Link | /subscriptions/{id-de-la-suscripción}/resourceGroups/{nombre-del-grupo-de-recursos}/providers/Microsoft.Network/privateLinkServices/{nombre-del-servicio} |
Microsoft Purview | /subscriptions/{id-de-la-suscripción}/resourceGroups/{nombre-del-grupo-de-recursos}/providers/Microsoft.Purview/accounts/{nombre-de-la-cuenta} |
Azure Search | /subscriptions/{id-de-la-suscripción}/resourceGroups/{nombre-del-grupo-de-recursos}/providers/Microsoft.Search/searchServices/{nombre-del-servicio} |
Azure SQL Database | /subscriptions/{id-de-la-suscripción}/resourceGroups/{nombre-del-grupo-de-recursos}/providers/Microsoft.Sql/servers/{nombre-del-servidor} |
Azure SQL Database (Azure SQL Managed Instance) | /subscriptions/{id-de-la-suscripción}/resourceGroups/{nombre-del-grupo-de-recursos}/providers/Microsoft.Sql/managedInstances/{nombre-de-la-instancia} |
Azure Blob Storage | /subscriptions/{id-de-la-suscripción}/resourceGroups/{nombre-del-grupo-de-recursos}/providers/Microsoft.Storage/storageAccounts/{nombre-de-la-cuenta-de-almacenamiento} |
Azure Data Lake Storage Gen2 | /subscriptions/{id-de-la-suscripción}/resourceGroups/{nombre-del-grupo-de-recursos}/providers/Microsoft.Storage/storageAccounts/{nombre-de-la-cuenta-de-almacenamiento} |
Azure File Storage | /subscriptions/{id-de-la-suscripción}/resourceGroups/{nombre-del-grupo-de-recursos}/providers/Microsoft.Storage/storageAccounts/{nombre-de-la-cuenta-de-almacenamiento} |
Azure Queue Storage | /subscriptions/{id-de-la-suscripción}/resourceGroups/{nombre-del-grupo-de-recursos}/providers/Microsoft.Storage/storageAccounts/{nombre-de-la-cuenta-de-almacenamiento} |
Azure Table Storage | /subscriptions/{id-de-la-suscripción}/resourceGroups/{nombre-del-grupo-de-recursos}/providers/Microsoft.Storage/storageAccounts/{nombre-de-la-cuenta-de-almacenamiento} |
Azure Synapse Analytics | /subscriptions/{id-de-la-suscripción}/resourceGroups/{nombre-del-grupo-de-recursos}/providers/Microsoft.Synapse/workspaces/{nombre-del-área-de-trabajo} |
Azure Synapse Analytics (Artifacts) | /subscriptions/{id-de-la-suscripción}/resourceGroups/{nombre-del-grupo-de-recursos}/providers/Microsoft.Synapse/workspaces/{nombre-del-área-de-trabajo} |
Funciones de Azure | /subscriptions/{id-de-la-suscripción}/resourceGroups/{nombre-del-grupo-de-recursos}/providers/Microsoft.Web/sites/{nombre-de-la-aplicación-de-funciones} |
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} |