Collegamenti a OneLake

I collegamenti in Microsoft OneLake consentono di unificare i dati tra domini, cloud e account creando un singolo data lake virtuale per l'intera azienda. Tutte le esperienze di Infrastruttura e i motori analitici possono connettersi direttamente alle origini dati esistenti, ad esempio Azure, Amazon Web Services (AWS) e OneLake tramite uno spazio dei nomi unificato. OneLake gestisce tutte le autorizzazioni e le credenziali, quindi non è necessario configurare separatamente ogni carico di lavoro infrastruttura per connettersi a ogni origine dati. Inoltre, è possibile usare i tasti di scelta rapida per eliminare le copie perimetrali dei dati e ridurre la latenza dei processi associati alle copie dei dati e alla gestione temporanea.

Che cosa sono i tasti di scelta rapida?

I collegamenti sono oggetti in OneLake che puntano ad altre posizioni di archiviazione. La posizione può essere interna o esterna a OneLake. La posizione a cui punta un collegamento è nota come percorso di destinazione del collegamento. Il percorso in cui viene visualizzato il collegamento è noto come percorso di collegamento. I collegamenti vengono visualizzati come cartelle in OneLake e qualsiasi carico di lavoro o servizio che ha accesso a OneLake può usarli. I collegamenti si comportano come collegamenti simbolici. Sono un oggetto indipendente dalla destinazione. Se si elimina un collegamento, la destinazione rimane invariata. Se si sposta, si rinomina o si elimina un percorso di destinazione, il collegamento può interrompersi.

Diagramma che mostra come un collegamento connette file e cartelle archiviati in altri percorsi.

Dove è possibile creare collegamenti?

È possibile creare collegamenti in lakehouse e database Linguaggio di query Kusto (KQL). Inoltre, i collegamenti creati all'interno di questi elementi possono puntare ad altre posizioni di OneLake, Azure Data Lake Storage (ADLS) Gen2, account di archiviazione Amazon S3 o Dataverse. È anche possibile creare collegamenti a percorsi locali o con restrizioni di rete con l'uso del gateway dati locale di Fabric.

È possibile usare l'interfaccia utente di Fabric per creare collegamenti in modo interattivo ed è possibile usare l'API REST per creare collegamenti a livello di codice.

Lakehouse

Quando si creano collegamenti in un lakehouse, è necessario comprendere la struttura di cartelle dell'elemento. I lakehouse sono costituiti da due cartelle di primo livello: la cartella Tables e la cartella Files . La cartella Tables rappresenta la parte gestita del lakehouse, mentre la cartella Files è la parte non gestita della lakehouse. Nella cartella Tabelle è possibile creare collegamenti solo al livello superiore. I collegamenti non sono supportati in altre sottodirectory della cartella Tabelle . Se la destinazione del collegamento contiene dati nel formato Delta\Parquet, il lakehouse sincronizza automaticamente i metadati e riconosce la cartella come tabella. Nella cartella File non sono previste restrizioni sulla posizione in cui è possibile creare collegamenti. È possibile crearli a qualsiasi livello della gerarchia di cartelle. L'individuazione tabelle non viene eseguita nella cartella File .

Diagramma che mostra la visualizzazione Lake e la visualizzazione Tabella affiancata.

Database KQL

Quando si crea un collegamento in un database KQL, viene visualizzato nella cartella Collegamenti del database. Il database KQL gestisce collegamenti come tabelle esterne. Per eseguire una query sul collegamento, usare la external_table funzione del Linguaggio di query Kusto.

Screenshot dei collegamenti all'interno di un database KQL.

Dove è possibile accedere ai collegamenti?

Qualsiasi servizio Fabric o non Fabric in grado di accedere ai dati in OneLake può usare i collegamenti. I collegamenti sono trasparenti per qualsiasi servizio che accede ai dati tramite l'API OneLake. I collegamenti vengono visualizzati come un'altra cartella nel lago. Apache Spark, SQL, Intelligence in tempo reale e Analysis Services possono usare tutti i collegamenti per l'esecuzione di query sui dati.

Apache Spark

I notebook apache Spark e i processi Apache Spark possono usare i collegamenti creati in OneLake. I percorsi di file relativi possono essere usati per leggere direttamente i dati dai collegamenti. Inoltre, se si crea un collegamento nella sezione Tabelle del lakehouse e si trova nel formato Delta, è possibile leggerlo come tabella gestita usando la sintassi SQL di Apache Spark.

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

Nota

Il formato Delta non supporta tabelle con spazi nel nome. Qualsiasi collegamento contenente uno spazio nel nome non verrà individuato come tabella Delta nella lakehouse.

SQL

È anche possibile leggere i collegamenti nella sezione Tabelle di una lakehouse tramite l'endpoint di analisi SQL per il lakehouse. È possibile accedere all'endpoint di analisi SQL tramite il selettore di modalità del lakehouse o tramite SQL Server Management Studio (SSMS).

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

Intelligence in tempo reale

I collegamenti nei database KQL vengono riconosciuti come tabelle esterne. Per eseguire una query sul collegamento, usare la external_table funzione del Linguaggio di query Kusto.

external_table('MyShortcut')
| take 100

Analysis Services

È possibile creare modelli semantici per i lakehouse contenenti collegamenti nella sezione Tabelle della lakehouse. Quando il modello semantico viene eseguito in modalità Direct Lake, Analysis Services può leggere i dati direttamente dal collegamento.

Non-Fabric

Le applicazioni e i servizi all'esterno di Fabric possono anche accedere ai collegamenti tramite l'API OneLake. OneLake supporta un subset delle API di archiviazione BLOB e ADLS Gen2. Per altre informazioni sull'API OneLake, vedere Accesso a OneLake con le API.

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

Tipi di tasti di scelta rapida

I collegamenti OneLake supportano più origini dati del file system. Sono incluse le posizioni interne di OneLake, Azure Data Lake Storage (ADLS) Gen2, Amazon S3 e Dataverse.

Collegamenti interni a OneLake

I collegamenti interni di OneLake consentono di fare riferimento ai dati all'interno di elementi di Infrastruttura esistenti. Questi elementi includono lakehouse, database KQL e data warehouse. Il collegamento può puntare a una posizione della cartella all'interno dello stesso elemento, tra gli elementi all'interno della stessa area di lavoro o anche tra elementi in aree di lavoro diverse. Quando si crea un collegamento tra gli elementi, i tipi di elemento non devono corrispondere. Ad esempio, è possibile creare un collegamento in una lakehouse che punta ai dati in un data warehouse.

Quando un utente accede ai dati tramite un collegamento a un'altra posizione di OneLake, l'identità dell'utente chiamante viene usata per autorizzare l'accesso ai dati nel percorso di destinazione del collegamento*. L'utente deve disporre delle autorizzazioni nel percorso di destinazione per leggere i dati.

Importante

Quando si accede ai collegamenti tramite modelli semantici di Power BI o T-SQL, l'identità dell'utente chiamante non viene passata alla destinazione di scelta rapida. L'identità del proprietario dell'elemento chiamante viene invece passata, delegando l'accesso all'utente chiamante.

Collegamenti ADLS

È anche possibile creare collegamenti agli account di archiviazione di ADLS Gen2. Quando si creano collegamenti ad ADLS, il percorso di destinazione può puntare a qualsiasi cartella all'interno dello spazio dei nomi gerarchico. Come minimo, il percorso di destinazione deve includere un nome di contenitore.

Accesso

I collegamenti ADLS devono puntare all'endpoint DFS per l'account di archiviazione. Esempio: https://accountname.dfs.core.windows.net/

Se l'account di archiviazione è protetto da un firewall di archiviazione, è possibile configurare l'accesso al servizio attendibile. Vedere Accesso all'area di lavoro attendibile

Autorizzazione

I collegamenti ADLS usano un modello di autorizzazione delegato. In questo modello, l'autore dei collegamenti specifica una credenziale per il collegamento ADLS e tutto l'accesso a tale collegamento è autorizzato usando tale credenziale. I tipi delegati supportati sono account dell'organizzazione, chiave dell'account, firma di accesso condiviso e entità servizio.

  • Account aziendale: deve disporre del ruolo Lettore dati BLOB di archiviazione, Collaboratore ai dati dei BLOB di archiviazione o Proprietario dei dati BLOB di archiviazione nell'account di archiviazione
  • Firma di accesso condiviso : deve includere almeno le autorizzazioni seguenti: Lettura, Elenco ed Esecuzione
  • Entità servizio: deve avere lettore dati BLOB di archiviazione, collaboratore ai dati del BLOB di archiviazione o ruolo proprietario dei dati dei BLOB di archiviazione nell'account di archiviazione

Nota

È necessario che gli spazi dei nomi gerarchici siano abilitati nell'account di archiviazione di ADLS Gen 2.

Scelte rapide da S3

È anche possibile creare collegamenti agli account Amazon S3. Quando si creano collegamenti ad Amazon S3, il percorso di destinazione deve contenere almeno un nome di bucket. S3 non supporta in modo nativo gli spazi dei nomi gerarchici, ma è possibile usare i prefissi per simulare una struttura di directory. È possibile includere prefissi nel percorso di collegamento per restringere ulteriormente l'ambito dei dati accessibili tramite il collegamento. Quando si accede ai dati tramite un collegamento S3, i prefissi vengono rappresentati come cartelle.

Accesso

I collegamenti S3 devono puntare all'endpoint https per il bucket S3.

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

Nota

Non è necessario disabilitare l'impostazione Blocca accesso pubblico S3 per l'account S3 per il funzionamento del collegamento S3.

L'accesso all'endpoint S3 non deve essere bloccato da un firewall di archiviazione o da un cloud privato virtuale.

Autorizzazione

I collegamenti S3 usano un modello di autorizzazione delegato. In questo modello, l'autore dei collegamenti specifica una credenziale per il collegamento S3 e tutto l'accesso a tale collegamento è autorizzato usando tale credenziale. Le credenziali delegate supportate sono chiave e segreto per un utente IAM.

L'utente IAM deve disporre delle autorizzazioni seguenti per il bucket a cui punta il collegamento.

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

Nota

I collegamenti S3 sono di sola lettura. Non supportano operazioni di scrittura indipendentemente dalle autorizzazioni per l'utente IAM.

Collegamenti a Google Cloud Storage (anteprima)

È possibile creare collegamenti a Google Cloud Storage (GCS) usando l'API XML per GCS. Quando si creano collegamenti a Google Cloud Storage, il percorso di destinazione deve contenere almeno un nome di bucket. È anche possibile limitare l'ambito del collegamento specificando ulteriormente il prefisso o la cartella da puntare all'interno della gerarchia di archiviazione.

Accesso

Quando si configura la connessione per un collegamento GCS, è possibile specificare l'endpoint globale per il servizio di archiviazione o usare un endpoint specifico del bucket.

  • Esempio di endpoint globale: https://storage.googleapis.com
  • Esempio di endpoint specifico del bucket: https://<BucketName>.storage.googleapis.com

Autorizzazione

I collegamenti GCS usano un modello di autorizzazione delegato. In questo modello, l'autore dei collegamenti specifica una credenziale per il collegamento GCS e tutto l'accesso a tale collegamento è autorizzato usando tale credenziale. Le credenziali delegate supportate sono una chiave HMAC e un segreto per un account del servizio o un account utente.

L'account deve disporre dell'autorizzazione per accedere ai dati all'interno del bucket GCS. Se l'endpoint specifico del bucket è stato usato nella connessione per il collegamento, l'account deve disporre delle autorizzazioni seguenti:

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

Se l'endpoint globale è stato usato nella connessione per il collegamento, l'account deve disporre anche dell'autorizzazione seguente:

  • storage.buckets.list

Nota

I tasti di scelta rapida GCS sono di sola lettura. Non supportano operazioni di scrittura indipendentemente dalle autorizzazioni per l'account usato.

Scelte rapide da dataverse

L'integrazione diretta di Dataverse con Microsoft Fabric consente alle organizzazioni di estendere le applicazioni aziendali e i processi aziendali di Dynamics 365 in Fabric. Questa integrazione viene eseguita tramite collegamenti, che possono essere creati in due modi: tramite il portale di PowerApps maker o direttamente tramite Fabric.

Creazione di collegamenti tramite il portale di PowerApps Maker

Gli utenti autorizzati di PowerApps possono accedere al portale di powerApps maker e usare la funzionalità Collega a Microsoft Fabric . Da questa singola azione, viene creato un lakehouse in Infrastruttura e i collegamenti vengono generati automaticamente per ogni tabella nell'ambiente Dataverse. Per altre informazioni, vedere Integrazione diretta di Dataverse con Microsoft Fabric.

Creazione di collegamenti tramite Infrastruttura

Gli utenti dell'infrastruttura possono anche creare collegamenti a Dataverse. Dall'esperienza utente crea collegamenti gli utenti possono selezionare Dataverse, specificare l'URL dell'ambiente e esplorare le tabelle disponibili. Questa esperienza consente agli utenti di scegliere in modo selettivo quali tabelle inserire in Fabric anziché inserire in tutte le tabelle.

Nota

Le tabelle di Dataverse devono essere disponibili prima di tutto in Dataverse Managed Lake prima che siano visibili nell'esperienza utente di creazione collegamenti di Fabric. Se le tabelle non sono visibili da Fabric, usare la funzionalità Collega a Microsoft Fabric dal portale di PowerApps maker.

Autorizzazione

I collegamenti a Dataverse usano un modello di autorizzazione delegato. In questo modello, l'autore dei collegamenti specifica una credenziale per il collegamento a Dataverse e tutto l'accesso a tale collegamento è autorizzato usando tale credenziale. Il tipo di credenziale delegato supportato è Account aziendale (OAuth2). L'account aziendale deve disporre dell'autorizzazione di amministratore di sistema per accedere ai dati in Dataverse Managed Lake.

Nota

Le entità servizio aggiunte all'area di lavoro infrastruttura devono avere il ruolo di amministratore per autorizzare il collegamento Dataverse.

Memorizzazione nella cache

La memorizzazione nella cache dei collegamenti può essere usata per ridurre i costi di uscita associati all'accesso ai dati tra cloud. Man mano che i file vengono letti tramite un collegamento esterno, i file vengono archiviati in una cache per l'area di lavoro Infrastruttura. Le richieste di lettura successive vengono gestite dalla cache anziché dal provider di archiviazione remoto. I file memorizzati nella cache hanno un periodo di conservazione di 24 ore. Ogni volta che si accede al file, viene reimpostato il periodo di conservazione. Se il file nel provider di archiviazione remota è più recente del file nella cache, la richiesta viene servita dal provider di archiviazione remoto e il file aggiornato verrà archiviato nella cache. Se non è stato eseguito l'accesso a un file per più di 24 ore, viene eliminato dalla cache. I singoli file di dimensioni superiori a 1 GB non vengono memorizzati nella cache.

Nota

La memorizzazione nella cache dei collegamenti è attualmente supportata solo per i collegamenti compatibili con GCS, S3 e S3.

Per abilitare la memorizzazione nella cache per i collegamenti, aprire il pannello Impostazioni area di lavoro. Scegliere la scheda OneLake. Attivare o disattivare l'impostazione della cache e selezionare Salva.

Screenshot del pannello delle impostazioni dell'area di lavoro con la scheda OneLake selezionata.

Utilizzo delle connessioni cloud da parte dei collegamenti

L'autorizzazione del collegamento ADLS e S3 viene delegata tramite connessioni cloud. Quando si crea un nuovo collegamento ADLS o S3, creare una nuova connessione o selezionare una connessione esistente per l'origine dati. L'impostazione di una connessione per un collegamento è un'operazione di associazione. Solo gli utenti con autorizzazione per la connessione possono eseguire l'operazione di associazione. Se non si dispone delle autorizzazioni per la connessione, non è possibile creare nuovi collegamenti usando tale connessione.

Sicurezza dei tasti di scelta rapida

I collegamenti richiedono determinate autorizzazioni per gestire e usare. La sicurezza dei collegamenti OneLake esamina le autorizzazioni necessarie per creare collegamenti e accedere ai dati usandoli.

In che modo i collegamenti gestiscono le eliminazioni?

I collegamenti non eseguono eliminazioni a catena. Quando si esegue un'operazione di eliminazione su un collegamento, si elimina solo l'oggetto collegamento. I dati nella destinazione di scelta rapida rimangono invariati. Tuttavia, se si esegue un'operazione di eliminazione in un file o in una cartella all'interno di un collegamento e si dispone delle autorizzazioni nella destinazione di collegamento per eseguire l'operazione di eliminazione, i file e/o le cartelle vengono eliminati nella destinazione. Nell'esempio seguente viene illustrato questo argomento.

Esempio di eliminazione

L'utente A ha una lakehouse con il percorso seguente:

MyLakehouse\Files\MyShortcut\Foo\Bar

MyShortcut è un collegamento che punta a un account ADLS Gen2 che contiene le directory Foo\Bar .

Eliminazione di un oggetto collegamento

L'utente A esegue un'operazione di eliminazione nel percorso seguente:

MyLakehouse\Files\MyShortcut

In questo caso, MyShortcut viene eliminato dalla lakehouse. I collegamenti non eseguono eliminazioni a catena, pertanto i file e le directory nell'account ADLS Gen2 Foo\Bar rimangono invariati.

Eliminazione del contenuto a cui fa riferimento un collegamento

L'utente A esegue un'operazione di eliminazione nel percorso seguente:

MyLakehouse\Files\MyShortcut\Foo\Bar

In questo caso, se l'utente A dispone delle autorizzazioni di scrittura nell'account ADLS Gen2, la directory Barra viene eliminata dall'account ADLS Gen2.

Visualizzazione derivazione dell'area di lavoro

Quando si creano collegamenti tra più elementi di Infrastruttura all'interno di un'area di lavoro, è possibile visualizzare le relazioni di scelta rapida tramite la visualizzazione derivazione dell'area di lavoro. Selezionare il pulsante Visualizzazione derivazione ( ) nell'angolo superiore destro di Esplora aree di lavoro.

Screenshot della schermata di visualizzazione derivazione.

Nota

La visualizzazione di derivazione ha come ambito una singola area di lavoro. I collegamenti alle posizioni esterne all'area di lavoro selezionata non verranno visualizzati.

Limitazioni e considerazioni

  • Il numero massimo di collegamenti per ogni elemento di Fabric è 100.000. In questo contesto, il termine articolo si riferisce a: app, lakehouse, magazzini, report e altro ancora.
  • Il numero massimo di collegamenti in un singolo percorso di OneLake è 10.
  • Il numero massimo di collegamenti diretti ai collegamenti è 5.
  • I percorsi di destinazione dei collegamenti ADLS e S3 non possono contenere caratteri riservati dalla sezione 2.2 di RFC 3986. Per i caratteri consentiti, vedere la sezione 2.3 di RFC 3968.
  • I nomi dei collegamenti OneLake, i percorsi padre e i percorsi di destinazione non possono contenere caratteri "%" o "+".
  • I collegamenti non supportano caratteri non latini.
  • L'API Di copia BLOB non è supportata per i collegamenti ADLS o S3.
  • La funzione Copy non funziona sui collegamenti che puntano direttamente ai contenitori ADLS. È consigliabile creare collegamenti ADLS a una directory di almeno un livello inferiore a un contenitore.
  • Non è possibile creare collegamenti aggiuntivi all'interno di ADLS o S3.
  • La derivazione per i collegamenti ai data warehouse e ai modelli semantici non è attualmente disponibile.