Crie e use pontos de extremidade privados gerenciados
Usuários com permissões de administrador para um espaço de trabalho do Microsoft Fabric podem criar, exibir e excluir pontos de extremidade privados gerenciados do portal do Fabric por meio das configurações do espaço de trabalho.
O usuário também pode monitorar o status e o processo de aprovação dos pontos de extremidade privados gerenciados na seção Segurança de rede das configurações do espaço de trabalho.
O usuário pode acessar as fontes de dados usando o nome do ponto de extremidade privado das cargas de trabalho do Fabric Spark.
Criar um ponto de extremidade privado gerenciado
Em um espaço de trabalho do Fabric, navegue até as configurações do espaço de trabalho, selecione a guia Segurança de rede e selecione a opção Criar na seção Ponto de extremidade privado gerenciado.
A caixa de diálogo Criar ponto de extremidade privado gerenciado é aberta.
Especifique um nome para o ponto de extremidade privado e copie no identificador de recurso para o recurso do Azure. O identificador de recurso pode ser encontrado na tab Propriedades na página do portal do Azure.
Observação
Não há suporte para a criação de um ponto de extremidade privado gerenciado com um nome de domínio totalmente qualificado (FQDN).
Ao terminar, selecione Criar.
Quando o ponto de extremidade privado gerenciado tiver sido provisionado, o status de ativação será alterado para Bem-sucedido.
Além disso, a solicitação para o acesso de ponto de extremidade privado é enviada para a fonte de dados. Os administradores da fonte de dados são notificados nas páginas de recursos do portal do Azure para as fontes de dados. Lá, eles verão uma solicitação de acesso pendente com a mensagem de solicitação.
Usando o SQL Server como exemplo, os usuários podem navegar até o portal do Azure e localizar o recurso "SQL Server".
Na página Recurso, escolha Sistema de rede no menu de navegação e, em seguida, a tab Acesso privado.
Os administradores de fonte de dados devem ser capazes de exibir as conexões de ponto de extremidade privadas ativas e as novas solicitações de conexão.
Os administradores podem Aprovar ou Rejeitar fornecendo uma justificativa comercial.
Depois que a solicitação for aprovada ou rejeitada pelo administrador da fonte de dados, o status será atualizado na página Configurações do espaço de trabalho do Fabric após a atualização.
Quando o status for alterado para aprovado, o ponto de extremidade poderá ser usado em notebooks ou definições de trabalho do Spark para acessar os dados armazenados na fonte de dados do espaço de trabalho do Fabric.
Use pontos de extremidade privados gerenciados no Fabric
Os notebooks do Microsoft Fabric oferecem suporte à interação perfeita com fontes de dados por trás de redes seguras usando pontos de extremidade privados gerenciados para exploração e processamento de dados. Em um notebook, os usuários podem fazer uma leitura rápida dos dados a partir de fontes de dados seguras (e gravar dados novamente) em lakehouses em uma variedade de formatos de arquivo.
Este guia fornece exemplos de código para ajudar você a iniciar em seus próprios notebooks a acessar dados de fontes de dados, como o BD SQL, por meio de pontos de extremidade privados gerenciados.
Pré-requisitos
Acesso a fonte de dados. Este exemplo analisa o Azure SQL Server e a base de dados SQL do Azure.
Entre no Microsoft Fabric e no portal do Azure.
Navegue até a página de recursos do SQL Server do Azure no portal do Azure e selecione o menu Propriedades. Copie a ID do recurso para o SQL Server ao qual você gostaria de se conectar a partir do Microsoft Fabric.
Usando as etapas listadas em Criar um ponto de extremidade privado gerenciado, crie o ponto de extremidade privado gerenciado na página Configurações de segurança da rede do Fabric.
Depois que o administrador da fonte de dados do SQL Server aprovar a nova solicitação de conexão de ponto de extremidade privado, você poderá usar o ponto de extremidade privado gerenciado recém-criado.
Estabeleça conexão com a fonte de dados a partir dos notebooks
No espaço de trabalho do Microsoft Fabric, use o alternador de experiência no lado esquerdo da home page para mudar para a experiência de engenharia de dados do Synapse.
Escolha Criar e crie um novo notebook.
Agora, no notebook, especificando o nome do banco de dados SQL e as propriedades de conexão, você pode se conectar por meio da conexão do ponto de extremidade privado gerenciado que foi configurada para fazer a leitura das tabelas no banco de dados e gravá-las na lakehouse no Microsoft Fabric.
O código PySpark a seguir mostra informações para configurar o Banco de Dados 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")
Agora que a conexão foi estabelecida, a próxima etapa é criar um quadro de dados para fazer a leitura da tabela no Banco de dados SQL.
Fontes de dados com suporte
O Microsoft Fabric é compatível com mais de 26 fontes de dados para conexão usando pontos de extremidade privados gerenciados. Os usuários precisam especificar o identificador de recurso, que pode ser encontrado na página Configurações de propriedades da fonte de dados no portal do Azure. Verifique se o formato do ID do recurso é seguido conforme mostrado na tabela a seguir.
Serviço | Formato da ID do recurso |
---|---|
Serviços Cognitivos | /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} |
Banco de Dados do Azure para MariaDB | /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.DBforMariaDB/servers/{server-name} |
Banco de Dados do Azure para MySQL | /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.DBforMySQL/servers/{server-name} |
Banco de Dados do Azure para 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 para NoSQL | /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.DocumentDB/databaseAccounts/{account-name} |
Escopos de Link Privado do Azure Monitor | /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Insights/privateLinkScopes/{scope-name} |
Cofre de Chave do Azure | /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} |
Banco de Dados SQL do Azure | /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Sql/servers/{server-name} |
Banco de Dados SQL do Azure (Instância Gerenciada de SQL do Azure) | /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Sql/managedInstances/{instance-name} |
Armazenamento do Blobs do Azure | /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} |
Armazenamento de Arquivos do Azure | /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Storage/storageAccounts/{storage-account-name} |
Armazenamento de Filas do Azure | /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Storage/storageAccounts/{storage-account-name} |
Armazenamento de Tabelas do 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 (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} |
Hubs de eventos do Azure | /subscriptions/{subscription-id}/resourcegroups/{resource-group-name}/providers/Microsoft.EventHub/namespaces/{namespace-name} |
Hub IoT do Azure | /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Devices/IotHubs/{iothub-name} |