Atalhos do OneLake

Os atalhos no Microsoft OneLake permitem que você unifique seus dados entre domínios, nuvens e contas, criando um único data lake virtual para toda a sua empresa. Todas as experiências Fabric e os mecanismos analíticos podem conectar-se 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, de modo que você não precisa configurar separadamente cada carga de trabalho do Fabric 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?

Atalhos são objetos no OneLake que apontam para outros locais de armazenamento. O local pode ser interno ou externo ao OneLake. O local para o qual um atalho aponta é conhecido como o caminho de destino do atalho. O local em que o atalho aparece é conhecido como o caminho do atalho. Os atalhos aparecem como pastas no OneLake e qualquer carga de trabalho ou serviço que tenha acesso ao OneLake pode utilizar esses atalhos. Os atalhos se comportam como links simbólicos. Eles são um objeto independente do destino. 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 interrompido.

Diagrama que mostra 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 da linguagem de consulta Kusto (KQL). Além disso, os atalhos que você cria 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 até mesmo criar atalhos para localizações locais ou restritas à rede com o uso do gateway de dados local do Fabric (OPDG).

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

Lakehouse

Ao criar atalhos em uma lakehouse, você deve entender a estrutura de pastas do item. Os lakehouses são combináveis com duas pastas de nível superior: a pasta Tabelas e a pasta Arquivos. A pasta Tabelas representa a parte gerenciada da lakehouse, enquanto a pasta Arquivos representa a parte não gerenciada da lakehouse. Na pasta Tabelas, você só pode criar atalhos no nível superior. Os atalhos não são suportados 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 existem restrições quanto ao local em que você pode criar atalhos. Você pode criá-las em qualquer nível da hierarquia de pastas. A descoberta da tabela não ocorre na pasta Arquivos.

Diagrama mostrando a visualização do Lake e a visualização da Tabela lado a lado.

Banco de dados KQL

Quando você criar um atalho em um banco de dados KQL, ele aparecerá na pasta Atalhos do banco de dados. O banco de dados KQL trata atalhos como tabelas externas. Para consultar o atalho, utilize a função external_table da linguagem de Consulta Kusto.

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

Onde posso acessar atalhos?

Qualquer serviço Fabric ou não Fabric que possa acessar os dados no OneLake pode utilizar atalhos. Os atalhos são transparentes para qualquer serviço que acessa dados por meio da API Do OneLake. Os atalhos aparecem apenas como outra pasta no lake. O Apache Spark, o SQL, a inteligência em tempo real e o Analysis Services podem utilizar atalhos ao consultar dados.

Apache Spark

Os Notebooks e os trabalhos do Apache Spark podem utilizar os atalhos criados no OneLake. Caminhos de arquivo relativos podem ser usados para ler dados diretamente de atalhos. Além disso, se você criar um atalho na seção Tabelas do lakehouse e estiver no formato Delta, poderá lê-lo como uma tabela gerenciada usando a sintaxe do Apache Spark SQL.

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

Observação

O formato Delta não dá suporte a tabelas com caracteres de espaço no nome. Qualquer atalho que contenha um espaço no nome não será descoberto como uma tabela Delta no lakehouse.

SQL

Você também pode fazer a leitura de atalhos na seção Tabelas de um Lakehouse por meio do extremidade de análise do SQL do Lakehouse. Você pode acessar o ponto de extremidade de análise do SQL por meio do seletor de modo do Lakehouse ou do SSMS (SQL Server Management Studio).

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

Inteligência em tempo real

Os atalhos em bancos de dados KQL são reconhecidos como tabelas externas. Para consultar o atalho, utilize a função external_table da linguagem de Consulta Kusto.

external_table('MyShortcut')
| take 100

Serviços de análise

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

Não Fabric

Aplicativos e serviços fora do Fabric também podem acessar atalhos por meio da API Do OneLake. O OneLake dá suporte a um subconjunto das APIs de Armazenamento de Blobs e ADLS Gen2. Para saber mais sobre a API do OneLake, confira Acesso do OneLake com APIs.

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

Tipos de atalhos

Os atalhos do OneLake dão suporte a várias fontes de dados do sistema de arquivos. Isso inclui locais internos do OneLake, Azure Data Lake Storage (ADLS) Gen2, Amazon S3, compatível com S3, Google Cloud Storage (GCS) e Dataverse.

Atalhos internos do OneLake

Os atalhos internos do OneLake permitem referenciar dados em itens existentes do Fabric. Esses itens incluem lakehouses, bancos de dados KQL e data warehouses. O atalho pode apontar para um local de pasta dentro do mesmo item, entre itens dentro do mesmo workspace ou até mesmo entre itens em workspaces 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 os dados em um data warehouse.

Quando um usuário acessa os dados por meio de um atalho para outro local do OneLake, a identidade do usuário chamado é utilizada 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 da chamada não é passada para o destino de atalho. Em vez disso, a identidade do proprietário do item da chamada é passada, delegando o acesso ao usuário da chamada.

Atalhos do ADLS

Os atalhos também podem ser criados para contas de armazenamento do ADLS Gen2. Quando você cria atalhos para o 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 do ADLS devem apontar para o ponto de extremidade DFS para a conta de armazenamento. Exemplo: https://accountname.dfs.core.windows.net/

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

Autorização

Os atalhos do ADLS utilizam um modelo de autorização delegada. Nesse modelo, o criador do atalho especifica uma credencial para o atalho do ADLS e todo o acesso a esse atalho é autorizado utilizando essa credencial. Os tipos delegados com suporte são conta organizacional, Chave de Conta, SAS (Assinatura de Acesso Compartilhado) e Entidade de Serviço.

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

Observação

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

Atalhos do S3

Você também pode criar atalhos para as 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 dá suporte nativo a namespaces hierárquicos, mas você pode utilizar prefixos para imitar uma estrutura de diretório. Você pode incluir prefixos no caminho de atalho para restringir ainda mais o escopo dos dados acessíveis por meio do atalho. Quando você acessa dados por meio de um atalho do S3, os prefixos são representados como pastas.

Access

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

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

Observação

Não é necessário desativar a configuração de acesso público de bloqueio 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 Nuvem Privada Virtual.

Autorização

Os atalhos do S3 utilizam um modelo de autorização delegado. Nesse modelo, o criador do atalho especifica uma credencial para o atalho S3 e todo o acesso a esse atalho é autorizado utilizando essa credencial. A credencial delegada com suporte é uma Chave e 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

Observação

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

Atalhos do Google Cloud Storage

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

Access

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

  • Exemplo de ponto de extremidade 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 delegado. Nesse modelo, o criador do atalho especifica uma credencial para o atalho do GCS e todo o acesso a esse atalho é autorizado utilizando essa credencial. A credencial delegada compatível é uma chave HMAC e um segredo para uma conta de serviço ou para uma conta de usuário.

A conta deve ter permissão para acessar os dados dentro do bucket do 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

Observação

Os atalhos do GCS são somente leitura. Eles não oferecem suporte a 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 empresariais e processos de negócios do Dynamics 365 para o Fabric. Essa integração é feita por atalhos, que podem ser criados de duas maneiras: no portal do criador do PowerApps ou diretamente no Fabric.

Criando atalhos no portal do criador do PowerApps

Os usuários autorizados do PowerApps podem acessar o portal do criador do PowerApps e usar o recurso Vincular ao Microsoft Fabric . Com essa única ação, um Lakehouse é criado no Fabric e 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 usando o Fabric

Os usuários do Fabric também podem criar atalhos para o Dataverse. Na UX de criação de atalhos, os usuários podem selecionar Dataverse, fornecer a URL do seu ambiente e navegar pelas 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.

Observação

As tabelas do Dataverse precisam primeiro estar disponíveis no Lake gerenciado pelo Dataverse antes de ficarem visíveis na UX de criação de atalhos do Fabric. Se suas tabelas não estiverem visíveis no Fabric, use o recurso Vincular ao Microsoft Fabric do portal do criador do PowerApps.

Autorização

Os atalhos do Dataverse utilizam um modelo de autorização delegado. Nesse modelo, o criador do atalho especifica uma credencial para o atalho do Dataverse e todo o acesso a esse atalho é autorizado usando essa credencial. O tipo de credencial representante com suporte é a conta organizacional (OAuth2). A conta institucional deve ter permissões de administrador do sistema para acessar dados no Lake gerenciado pelo Dataverse.

Observação

As entidades de serviço adicionadas ao espaço de trabalho do Fabric devem ter a função de administrador para autorizar o atalho do Dataverse.

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 por meio de um atalho externo, eles são armazenados em um cache para o espaço de trabalho do Fabric. As solicitações de leitura subsequentes são atendidas do cache e não do provedor de armazenamento remoto. Os arquivos armazenados no 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 do provedor de armazenamento remoto e o arquivo atualizado será armazenado no 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 no cache.

Observação

No momento, o cache de atalho tem suporte apenas para atalhos do GCS, S3 e compatíveis com o S3.

Para habilitar o cache para atalhos, abra o painel Configurações do espaço de trabalho. Escolha a guia OneLake. Altere a configuração de cache para Ativado e selecione 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 de nuvem

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

Segurança de atalho

Os atalhos exigem determinadas permissões para gerenciar e usar. A segurança de atalho do OneLake examina as permissões necessárias para criar atalhos e acessar dados usando-os.

Como os atalhos lidam com exclusões?

Os atalhos não executam exclusões em cascata. Ao executar 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 a seguir ilustra esse ponto.

Exemplo de exclusão

O usuário A tem um lakehouse com o seguinte caminho:

MyLakehouse\Files\MyShortcut\Foo\Bar

MyShortcut é um atalho que aponta para uma conta do 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\Files\MyShortcut

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

Excluindo conteúdo referenciado por um atalho

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

MyLakehouse\Files\MyShortcut\Foo\Bar

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

Modo de exibição de linhagem do workspace

Ao criar atalhos entre vários itens do Fabric em um workspace, você pode visualizar as relações de atalho por meio da exibição de linhagem do workspace. Selecione o botão Modo de exibição Linhagem ( ) no canto superior direito do Gerenciador de Workspace.

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

Observação

A exibição de linhagem tem como escopo um único workspace. Os atalhos para locais fora do workspace selecionado não serão exibidos.

Limitações e considerações

  • O número máximo de atalhos por item do Fabric é 100.000. Nesse contexto, o termo item se refere a: aplicativos, lakehouses, warehouses, 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 os links de atalho é 5.
  • Os caminhos de destino de atalho ADLS e S3 não podem conter caracteres reservados da Seção 2.2 da RFC 3986. Para caracteres permitidos, consulte RFC 3968 seção 2.3.
  • Os nomes de atalho, caminhos pai e caminhos de destino do OneLake não podem conter caracteres "%" ou "+".
  • Os atalhos não dão suporte a caracteres não latinos.
  • Não há suporte para a API de Cópia de Blob para atalhos ADLS ou S3.
  • A função Copy não funciona em atalhos que apontam diretamente para contêineres do ADLS. É recomendável criar atalhos do ADLS para um diretório que esteja pelo menos um nível abaixo de um contêiner.
  • Atalhos adicionais não podem ser criados dentro de atalhos ADLS ou S3.
  • A linhagem para atalhos para data warehouses e modelos semânticos não está disponível no momento.
  • Pode levar até um minuto para que a API de Tabela reconheça novos atalhos.