Criar e usar pontos de extremidade privados gerenciados
Os 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.
Pré-requisitos
Um provedor de recursos Microsoft.Network precisa estar registrado na assinatura do Azure
Criar um ponto final privado gerido
Em um espaço de trabalho de malha, 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 guia de propriedades na página do portal do Azure.
Nota
Não há suporte para a criação de um ponto de extremidade privado gerenciado com um nome de domínio totalmente qualificado (FQDN).
Quando terminar, selecione Criar.
Quando o ponto de extremidade privado gerenciado tiver sido provisionado, o status de ativação será alterado para Succeeded.
Além disso, a solicitação para o acesso privado ao ponto de extremidade é 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 suas fontes de dados. Lá, eles verão uma solicitação de acesso pendente com a mensagem de solicitação.
Tomando o SQL Server como exemplo, os usuários podem navegar até o portal do Azure e procurar o recurso "SQL Server".
Na página Recurso, selecione Rede no menu de navegação e, em seguida, selecione a guia Acesso Privado .
Os administradores de fontes de dados devem ser capazes de exibir as conexões de ponto de extremidade privadas ativas e 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 de configurações do espaço de trabalho Malha após a atualização.
Quando o status for alterado para aprovado, o ponto de extremidade poderá ser usado em blocos de anotações ou definições de trabalho do Spark para acessar os dados armazenados na fonte de dados do espaço de trabalho da malha.
Usar pontos de extremidade privados gerenciados no Fabric
Os notebooks 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. Dentro de um bloco de anotações, os usuários podem ler rapidamente os dados de suas fontes de dados protegidas (e gravar dados de volta para) suas casas de lago em uma variedade de formatos de arquivo.
Este guia fornece exemplos de código para ajudá-lo a começar em seus próprios blocos de anotações para acessar dados de fontes de dados, como o Banco de Dados SQL, por meio de pontos de extremidade privados gerenciados.
Pré-requisitos
Acesso à fonte de dados. Este exemplo examina o SQL Server do Azure e o Banco 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 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 de Malha.
Depois que o administrador da fonte de dados do servidor SQL 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.
Conectar-se à fonte de dados a partir de blocos de anotações
Entre no portal do Microsoft Fabric.
Use o seletor de experiência no lado esquerdo da sua página inicial para alternar a experiência Desenvolver .
Navegue até o espaço de trabalho desejado ou crie um novo, se necessário.
Para criar um bloco de anotações, selecione Novo item no espaço de trabalho e escolha Bloco de Anotações.
Agora, no bloco de anotações, especificando o nome do banco de dados SQL e suas propriedades de conexão, você pode se conectar por meio da conexão de ponto de extremidade privado gerenciado que foi configurada para ler as tabelas no banco de dados e gravá-las em sua casa de lago no Microsoft Fabric.
O código PySpark a seguir mostra como se conectar a um 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 ler a tabela no Banco de dados SQL.
Supported data sources (Origens de dados suportadas)
O Microsoft Fabric oferece suporte a mais de 26 fontes de dados às quais se conectar 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 de sua fonte de dados no portal do Azure. Verifique se o formato de ID do recurso é seguido, conforme mostrado na tabela a seguir.
Serviço | Formato de ID de 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} |
Azure Database for MariaDB | /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.DBforMariaDB/servers/{server-name} |
Base de Dados do Azure para MySQL | /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.DBforMySQL/servers/{server-name} |
Base de Dados do Azure para PostgreSQL | /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{server-name} |
Azure Cosmos DB para 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} |
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} |
Base 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 SQL do Azure) | /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Sql/managedInstances/{instance-name} |
Armazenamento de 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 Ficheiros 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 (Artefatos) | /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Synapse/workspaces/{workspace-name} |
Funções do Azure | /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} |