Atalhos do OneLake

Os atalhos no Microsoft OneLake permitem unificar seus dados entre domínios, nuvens e contas, criando um único data lake virtual para toda a empresa. Todas as experiências e mecanismos analíticos do Fabric podem se conectar diretamente às suas fontes de dados existentes, como Azure, Amazon Web Services (AWS) e OneLake por meio de um namespace unificado. O OneLake gerencia todas as permissões e credenciais, portanto, você não precisa configurar separadamente cada experiência de malha para se conectar a cada fonte de dados. Além disso, você pode usar atalhos para eliminar cópias de borda de dados e reduzir a latência do processo associada a cópias de dados e preparo.

O que são atalhos?

Os atalhos são objetos no OneLake que apontam para outros locais de armazenamento. A localização pode ser interna ou externa ao OneLake. O local para o qual um atalho aponta é conhecido como o caminho de destino do atalho. O local onde o atalho aparece é conhecido como caminho de atalho. Os atalhos aparecem como pastas no OneLake e qualquer experiência ou serviço que tenha acesso ao OneLake pode usá-los. Os atalhos comportam-se como ligações simbólicas. Eles são um objeto independente do alvo. Se você excluir um atalho, o destino não será afetado. Se você mover, renomear ou excluir um caminho de destino, o atalho poderá ser quebrado.

Diagrama mostrando como um atalho conecta arquivos e pastas armazenados em outros locais.

Onde posso criar atalhos?

Você pode criar atalhos em lakehouses e bancos de dados Kusto Query Language (KQL). Além disso, os atalhos criados nesses itens podem apontar para outros locais do OneLake, Azure Data Lake Storage (ADLS) Gen2, contas de armazenamento do Amazon S3 ou Dataverse.

Você pode usar a interface do usuário de malha para criar atalhos interativamente e pode usar a API REST para criar atalhos programaticamente.

Casa do Lago

Ao criar atalhos em uma casa de lago, você deve entender a estrutura de pastas do item. Lakehouses são compostos por duas pastas de nível superior: a pasta Tabelas e a pasta Arquivos. A pasta Tabelas representa a parte gerenciada da casa do lago, enquanto a pasta Arquivos é a parte não gerenciada da casa do lago. Na pasta Tabelas, você só pode criar atalhos no nível superior. Não há suporte para atalhos em outros subdiretórios da pasta Tabelas . Se o destino do atalho contiver dados no formato Delta\Parquet, o lakehouse sincronizará automaticamente os metadados e reconhecerá a pasta como uma tabela. Na pasta Arquivos, não há restrições sobre onde você pode criar atalhos. Você pode criá-los em qualquer nível da hierarquia de pastas. A descoberta de tabela não acontece na pasta Arquivos .

Diagrama mostrando a vista Lago e a vista Tabela lado a lado.

Base de dados KQL

Quando você cria um atalho em um banco de dados KQL, ele aparece na pasta Atalhos do banco de dados. O banco de dados KQL trata atalhos como tabelas externas. Para consultar o atalho, use a external_table função Kusto Query Language.

Captura de tela de atalhos dentro de um banco de dados KQL.

Onde posso aceder aos atalhos?

Qualquer serviço de malha ou não-malha que possa acessar dados no OneLake pode usar atalhos. Os atalhos são transparentes para qualquer serviço que acesse dados por meio da API do OneLake. Os atalhos aparecem apenas como outra pasta no lago. O Spark, o SQL, o Real-Time Analytics e o Analysis Services podem usar atalhos ao consultar dados.

Spark

Os blocos de anotações do Spark e os trabalhos do Spark podem usar atalhos criados no OneLake. Os caminhos de arquivo relativos podem ser usados para ler diretamente dados de atalhos. Além disso, se você criar um atalho na seção Tabelas da casa do lago e ele estiver no formato Delta, poderá lê-lo como uma tabela gerenciada usando a sintaxe SQL do Spark.

df = spark.read.format("delta").load("Tables/MyShortcut")
display(df)
df = spark.sql("SELECT * FROM MyLakehouse.MyShortcut LIMIT 1000")
display(df)

Nota

O formato Delta não suporta tabelas com caracteres de espaço no nome. Qualquer atalho contendo um espaço no nome não será descoberto como uma mesa Delta na casa do lago.

SQL

Você também pode ler atalhos na seção Tabelas de uma casa de lago por meio do ponto de extremidade de análise SQL para a casa de lago. Você pode acessar o ponto de extremidade de análise SQL por meio do seletor de modo do lakehouse ou por meio do SQL Server Management Studio (SSMS).

SELECT TOP (100) *
FROM [MyLakehouse].[dbo].[MyShortcut]

Análise em tempo real

Os atalhos em bancos de dados KQL são reconhecidos como tabelas externas. Para consultar o atalho, use a external_table função Kusto Query Language.

external_table('MyShortcut')
| take 100

Analysis Services

Você pode criar modelos semânticos para lakehouses contendo atalhos na seção Tables da lakehouse. Quando o modelo semântico é executado no modo Direct Lake, o Analysis Services pode ler dados diretamente do atalho.

não-tecido

Aplicativos e serviços fora da malha também podem acessar atalhos por meio da API OneLake. O OneLake suporta um subconjunto das APIs de armazenamento ADLS Gen2 e Blob. Para saber mais sobre a API do OneLake, consulte Acesso do OneLake com APIs.

https://onelake.dfs.fabric.microsoft.com/MyWorkspace/MyLakhouse/Tables/MyShortcut/MyFile.csv

Tipos de atalhos

Os atalhos do OneLake suportam várias fontes de dados do sistema de arquivos. Isso inclui locais internos do OneLake, Azure Data Lake Storage (ADLS) Gen2, Amazon S3 e Dataverse.

Atalhos internos do OneLake

Os atalhos internos do OneLake permitem que você faça referência a dados em itens de malha existentes. Esses itens incluem lakehouses, bancos de dados KQL e armazéns de dados. O atalho pode apontar para um local de pasta dentro do mesmo item, entre itens dentro do mesmo espaço de trabalho ou até mesmo entre itens em espaços de trabalho diferentes. Quando você cria um atalho entre itens, os tipos de item não precisam corresponder. Por exemplo, você pode criar um atalho em um lakehouse que aponte para dados em um data warehouse.

Quando um usuário acessa dados por meio de um atalho para outro local do OneLake, a identidade do usuário chamador é usada para autorizar o acesso aos dados no caminho de destino do atalho*. Esse usuário deve ter permissões no local de destino para ler os dados.

Importante

Ao acessar atalhos por meio de modelos semânticos do Power BI ou T-SQL, a identidade do usuário chamador não é passada para o destino de atalho. Em vez disso, a identidade do proprietário do item chamador é passada, delegando o acesso ao usuário chamador.

Atalhos ADLS

Também podem ser criados atalhos para contas de armazenamento ADLS Gen2. Quando você cria atalhos para ADLS, o caminho de destino pode apontar para qualquer pasta dentro do namespace hierárquico. No mínimo, o caminho de destino deve incluir um nome de contêiner.

Access

Os atalhos ADLS devem apontar para o ponto de extremidade DFS da conta de armazenamento. Exemplo: https://accountname.dfs.core.windows.net/

Se sua conta de armazenamento estiver protegida por um firewall de armazenamento, você poderá configurar o acesso a serviços confiáveis. Consulte Acesso ao espaço de trabalho confiável

Autorização

Os atalhos do ADLS usam um modelo de autorização delegada. Neste modelo, o criador do atalho especifica uma credencial para o atalho ADLS e todo o acesso a esse atalho é autorizado usando essa credencial. Os tipos delegados suportados são Conta organizacional, Chave de conta, Assinatura de acesso compartilhado (SAS) e Entidade de serviço.

  • Conta organizacional - deve ter a função de Leitor de Dados de Blob de Armazenamento, Colaborador de Dados de Blob de Armazenamento ou Proprietário de Dados de Blob de Armazenamento na conta de armazenamento
  • Assinatura de Acesso Compartilhado (SAS) - deve incluir pelo menos as seguintes permissões: Ler, Listar e Executar
  • Entidade de serviço - deve ter a função de Leitor de Dados de Blob de Armazenamento, Colaborador de Dados de Blob de Armazenamento ou Proprietário de Dados de Blob de Armazenamento na conta de armazenamento

Nota

Você deve ter os namespaces hierárquicos habilitados em sua conta de armazenamento do ADLS Gen 2.

Atalhos do S3

Você também pode criar atalhos para contas do Amazon S3. Quando você cria atalhos para o Amazon S3, o caminho de destino deve conter um nome de bucket no mínimo. O S3 não suporta nativamente namespaces hierárquicos, mas você pode usar prefixos para imitar uma estrutura de diretório. Você pode incluir prefixos no caminho de atalho para restringir ainda mais o escopo de dados acessíveis através do atalho. Quando você acessa dados por meio de um atalho do S3, os prefixos são representados como pastas.

Access

Os atalhos do S3 devem apontar para o ponto de extremidade https do bucket do S3.

Exemplo: https://bucketname.s3.region.amazonaws.com/

Nota

Não é necessário desativar a configuração Bloquear Acesso Público do S3 para sua conta do S3 para que o atalho do S3 funcione.

O acesso ao ponto de extremidade do S3 não deve ser bloqueado por um firewall de armazenamento ou pela Virtual Private Cloud.

Autorização

Os atalhos do S3 usam um modelo de autorização delegada. Neste modelo, o criador do atalho especifica uma credencial para o atalho do S3 e todo o acesso a esse atalho é autorizado usando essa credencial. A credencial delegada suportada é uma chave e um segredo para um usuário do IAM.

O usuário do IAM deve ter as seguintes permissões no bucket para o qual o atalho está apontando.

  • S3:GetObject
  • S3:GetBucketLocation
  • S3:ListBucket

Nota

Os atalhos do S3 são somente leitura. Eles não suportam operações de gravação, independentemente das permissões para o usuário do IAM.

Atalhos do Google Cloud Storage (Pré-visualização)

É possível criar atalhos para o Google Cloud Storage (GCS) usando a API XML para GCS. Quando você cria atalhos para o Google Cloud Storage, o caminho de destino deve conter um nome de bucket no mínimo. Você também pode restringir o escopo do atalho especificando ainda mais o prefixo/pasta para o qual deseja apontar dentro da hierarquia de armazenamento.

Access

Ao configurar a conexão para um atalho GCS, você pode especificar o ponto de extremidade global para o serviço de armazenamento ou usar um ponto de extremidade específico do bucket.

  • Exemplo de ponto final global: https://storage.googleapis.com
  • Exemplo de ponto de extremidade específico do bucket: https://<BucketName>.storage.googleapis.com

Autorização

Os atalhos do GCS usam um modelo de autorização delegada. Neste modelo, o criador do atalho especifica uma credencial para o atalho GCS e todo o acesso a esse atalho é autorizado usando essa credencial. A credencial delegada suportada é uma chave HMAC e um segredo para uma conta de Serviço ou conta de Utilizador.

A conta deve ter permissão para acessar os dados dentro do bucket GCS. Se o ponto de extremidade específico do bucket foi usado na conexão para o atalho, a conta deve ter as seguintes permissões:

  • storage.objects.get
  • stoage.objects.list

Se o ponto de extremidade global foi usado na conexão para o atalho, a conta também deve ter a seguinte permissão:

  • storage.buckets.list

Nota

Os atalhos do GCS são somente leitura. Eles não suportam operações de gravação, independentemente das permissões para a conta usada.

Atalhos do Dataverse

A integração direta do Dataverse com o Microsoft Fabric permite que as organizações estendam seus aplicativos corporativos e processos de negócios do Dynamics 365 para o Fabric. Essa integração é realizada por meio de atalhos, que podem ser criados de duas maneiras: através do portal do criador do PowerApps ou diretamente através do Fabric.

Criando atalhos por meio do PowerApps Maker Portal

Os usuários autorizados do PowerApps podem acessar o portal do criador do PowerApps e usar o recurso Link to Microsoft Fabric . A partir dessa única ação, um Lakehouse é criado no Fabric e os atalhos são gerados automaticamente para cada tabela no ambiente Dataverse. Para obter mais informações, consulte Integração direta do Dataverse com o Microsoft Fabric.

Criando atalhos através da malha

Os usuários de malha também podem criar atalhos para o Dataverse. A partir da UX de criação de atalhos, os usuários podem selecionar Dataverse, fornecer a URL do ambiente e navegar nas tabelas disponíveis. Essa experiência permite que os usuários escolham seletivamente quais tabelas trazer para o Fabric em vez de trazer todas as tabelas.

Nota

As tabelas do Dataverse devem primeiro estar disponíveis no Dataverse Managed Lake antes de ficarem visíveis na UX de atalhos de criação de malha. Se suas tabelas não estiverem visíveis no Fabric, use o recurso Link to Microsoft Fabric do portal do criador do PowerApps.

Autorização

Os atalhos do Dataverse usam um modelo de autorização delegada. Neste modelo, o criador do atalho especifica uma credencial para o atalho Dataverse e todo o acesso a esse atalho é autorizado usando essa credencial. O tipo de credencial delegada com suporte é Conta organizacional (OAuth2). A conta organizacional deve ter a permissão de administrador do sistema para acessar dados no Dataverse Managed Lake.

Nota

Atualmente, não há suporte para entidades de serviço para autorização de atalho do Dataverse.

Colocação em cache

O cache de atalho pode ser usado para reduzir os custos de saída associados ao acesso a dados entre nuvens. À medida que os arquivos são lidos através de um atalho externo, os arquivos são armazenados em um cache para o espaço de trabalho Malha. As solicitações de leitura subsequentes são atendidas a partir do cache em vez do provedor de armazenamento remoto. Os ficheiros armazenados em cache têm um período de retenção de 24 horas. Cada vez que o arquivo é acessado, o período de retenção é redefinido. Se o arquivo no provedor de armazenamento remoto for mais recente do que o arquivo no cache, a solicitação será atendida pelo provedor de armazenamento remoto e o arquivo atualizado será armazenado em cache. Se um arquivo não tiver sido acessado por mais de 24 horas, ele será removido do cache. Arquivos individuais com mais de 1 GB de tamanho não são armazenados em cache.

Nota

Atualmente, o cache de atalhos só é suportado para atalhos compatíveis com GCS, S3 e S3.

Para habilitar o cache para atalhos, abra o painel Configurações do espaço de trabalho . Escolha a guia OneLake . Alterne a configuração de cache para Ativado e clique em Salvar.

Captura de tela do painel de configurações do espaço de trabalho com a guia OneLake selecionada.

Como os atalhos utilizam conexões na nuvem

A autorização de atalhos do ADLS e do S3 é delegada usando conexões de nuvem. Ao criar um novo atalho ADLS ou S3, você cria uma nova conexão ou seleciona uma conexão existente para a fonte de dados. Definir uma conexão para um atalho é uma operação de ligação. Somente usuários com permissão na conexão podem executar a operação de ligação. Se você não tiver permissões na conexão, não poderá criar novos atalhos usando essa conexão.

Permissões

Uma combinação das permissões no caminho de atalho e no caminho de destino governa as permissões para atalhos. Quando um usuário acessa um atalho, a permissão mais restritiva dos dois locais é aplicada. Portanto, um usuário que tenha permissões de leitura/gravação na lakehouse, mas apenas permissões de leitura no destino de atalho, não pode gravar no caminho de destino do atalho. Da mesma forma, um usuário que só tem permissões de leitura na casa do lago, mas leitura/gravação no destino de atalho, também não pode gravar no caminho de destino do atalho.

Funções do espaço de trabalho

A tabela a seguir mostra as permissões relacionadas a atalhos para cada função de espaço de trabalho. Para obter mais informações, consulte Funções do espaço de trabalho.

Capacidade Admin Membro Contribuinte Visualizador
Criar um atalho Sim1 Sim1 Sim1 -
Ler o conteúdo do arquivo/pasta do atalho Sim2 Sim2 Sim2 -
Gravar no local de destino do atalho Sim3 Sim3 Sim3 -
Leia dados de atalhos na seção de tabela da casa do lago via ponto de extremidade TDS Sim Sim Sim Sim

1 Os usuários devem ter uma função que forneça permissão de gravação, o local de atalho e, pelo menos, permissão de leitura no local de destino.

2 Os usuários devem ter uma função que forneça permissão de leitura no local de atalho e no local de destino.

3 Os usuários devem ter uma função que forneça permissão de gravação no local de atalho e no local de destino.

Funções de acesso a dados do OneLake (visualização)

As funções de acesso a dados do OneLake são um novo recurso que permite aplicar RBAC (controle de acesso baseado em função) aos dados armazenados no OneLake. Você pode definir funções de segurança que concedem acesso de leitura a pastas específicas dentro de um item de malha e atribuí-las a usuários ou grupos. As permissões de acesso determinam quais pastas os usuários veem ao acessar a visualização de lago dos dados, seja por meio da UX lakehouse, notebooks ou APIs OneLake. Para itens com o recurso de visualização habilitado, as funções de acesso a dados do OneLake também determinam o acesso de um usuário a um atalho.

Os usuários nas funções Administrador, Membro e Colaborador têm acesso total para ler dados de um atalho, independentemente das funções de acesso a dados do OneLake definidas. No entanto, eles ainda precisam de acesso na origem e no destino do atalho, conforme mencionado nas funções do Espaço de trabalho.

Os usuários na função Visualizador ou que tiveram uma casa de lago compartilhada diretamente com eles têm acesso restrito com base em se o usuário tem acesso por meio de uma função de acesso a dados OneLake. Para obter mais informações sobre o modelo de controle de acesso com atalhos, consulte Modelo de controle de acesso a dados no OneLake.

Como os atalhos lidam com exclusões?

Os atalhos não executam exclusões em cascata. Quando você executa uma operação de exclusão em um atalho, você exclui apenas o objeto de atalho. Os dados no destino de atalho permanecem inalterados. No entanto, se você executar uma operação de exclusão em um arquivo ou pasta dentro de um atalho e tiver permissões no destino de atalho para executar a operação de exclusão, os arquivos e/ou pastas serão excluídos no destino. O exemplo seguinte ilustra este ponto.

Excluir exemplo

O usuário A tem uma casa de lago com o seguinte caminho:

MyLakehouse\Arquivos\MyShortcut\Foo\Bar

MyShortcut é um atalho que aponta para uma conta ADLS Gen2 que contém os diretórios Foo\Bar .

Excluindo um objeto de atalho

O usuário A executa uma operação de exclusão no seguinte caminho:

MyLakehouse\Arquivos\MyShortcut

Neste caso, MyShortcut é excluído da casa do lago. Os atalhos não executam exclusões em cascata, portanto, os arquivos e diretórios na conta ADLS Gen2 Foo\Bar permanecem inalterados.

Eliminar conteúdo referenciado por um atalho

O usuário A executa uma operação de exclusão no seguinte caminho:

MyLakehouse\Arquivos\MyShortcut\Foo\Bar

Nesse caso, se o Usuário A tiver permissões de gravação na conta ADLS Gen2, o diretório Bar será excluído da conta ADLS Gen2.

Modo de exibição de linhagem do espaço de trabalho

Ao criar atalhos entre vários itens de malha em um espaço de trabalho, você pode visualizar as relações de atalho por meio da exibição de linhagem do espaço de trabalho. Selecione o botão Visualização de linhagem ( ) no canto superior direito do explorador de espaços de trabalho.

Captura de tela da tela de exibição de linhagem.

Nota

A exibição de linhagem tem como escopo um único espaço de trabalho. Os atalhos para locais fora do espaço de trabalho selecionado não aparecerão.

Limitações e considerações

  • O número máximo de atalhos por item de malha é 100.000. Neste contexto, o termo item refere-se a: aplicativos, lakehouses, armazéns, relatórios e muito mais.
  • O número máximo de atalhos em um único caminho OneLake é 10.
  • O número máximo de atalhos diretos para links de atalho é 5.
  • Os caminhos de destino de atalho ADLS e S3 não podem conter caracteres reservados da seção 2.2 do RFC 3986. Para caracteres permitidos, consulte RFC 3968 seção 2.3.
  • Nomes de atalho do OneLake, caminhos pai e caminhos de destino não podem conter caracteres "%" ou "+".
  • Os atalhos não suportam caracteres não latinos.
  • Copiar API de Blob não suportada para atalhos ADLS ou S3.
  • A função de cópia não funciona em atalhos que apontam diretamente para contêineres ADLS. É recomendável criar atalhos ADLS para um diretório que esteja pelo menos um nível abaixo de um contêiner.
  • Não é possível criar atalhos adicionais dentro dos atalhos do ADLS ou do S3.
  • A linhagem de atalhos para Data Warehouses e Modelos Semânticos não está disponível no momento.