OneLake-genveje
Genveje i Microsoft OneLake giver dig mulighed for at samle dine data på tværs af domæner, cloudmiljøer og konti ved at oprette en enkelt virtualiseret datasø for hele virksomheden. Alle Fabric-oplevelser og analyseprogrammer kan oprette direkte forbindelse til dine eksisterende datakilder, f.eks. Azure, AWS og OneLake via et samlet navneområde. Tilladelser og legitimationsoplysninger administreres alle af OneLake, så hver Fabric-oplevelse behøver ikke at være konfigureret separat for at oprette forbindelse til hver datakilde. Derudover kan du bruge genveje til at fjerne kantkopier af data og reducere procesventetiden, der er knyttet til datakopier og midlertidig lagring.
Vigtigt
Microsoft Fabric er i prøveversion.
Hvad er genveje?
Genveje er objekter i OneLake, der peger på andre lagerplaceringer. Placeringen kan være intern eller ekstern i forhold til OneLake. Den placering, som en genvej peger på, kaldes genvejens "Destination"-sti. Den placering, hvor genvejen vises, kaldes stien "Genvej". Genveje vises som mapper i OneLake og kan bruges gennemsigtigt af enhver oplevelse eller tjeneste, der har adgang til OneLake. Genveje fungerer på samme måde som symbolske links. De er et uafhængigt objekt fra målet. Hvis en genvej slettes, forbliver målet ikke ændret. Hvis målstien flyttes, omdøbes eller slettes, kan genvejen blive afbrudt.
Hvor kan jeg oprette genveje?
Genveje kan oprettes både i Lakehouses og KQL-databaser. Desuden kan de genveje, der oprettes i disse elementer, pege på andre OneLake-placeringer, ADLS Gen2- eller Amazon S3-lagerkonti.
Lakehouse
Når du opretter genveje i et Lakehouse, er det vigtigt at forstå elementets mappestruktur. Lakehouses består af to mapper på øverste niveau: mappen "Tabeller" og mappen "Filer". Mappen "Tabeller" repræsenterer den administrerede del af Lakehouse, mens mappen "Filer" er den ikke-administrerede del af Lakehouse. I mappen "Tabeller" kan du kun oprette genveje på øverste niveau. Genveje understøttes ikke i andre undermapper i mappen "Tabeller". Hvis destinationen for genvejen indeholder data i delta\parketformatet, synkroniserer Lakehouse automatisk metadataene og genkender mappen som en tabel. I mappen "Filer" er der ingen begrænsninger for, hvor du kan oprette genveje. De kan oprettes på alle niveauer i mappehierarkiet. Tabelregistrering sker ikke i mappen "Filer".
KQL-database
Når du opretter en genvej i en KQL-database, vises den i mappen "Genveje" i databasen. KQL-databasen behandler genveje som eksterne tabeller. Hvis du vil forespørge genvejen, skal du bruge funktionen "external_table" i Kusto-forespørgselssproget.
Hvor kan jeg få adgang til genveje?
Alle fabric- eller ikke-fabric-tjenester, der kan få adgang til data i OneLake, kan bruge genveje. Genveje er gennemsigtige for alle tjenester, der har adgang til data via OneLake-API'en. Genveje vises blot som en anden mappe i søen. Dette gør det muligt for Spark, SQL, Real-Time Analytics og Analysis Services at bruge genveje, når der forespørger om data.
Spark
Spark-notesbøger og Spark-job kan bruge genveje, der er oprettet i OneLake. Relative filstier kan bruges til direkte at læse data fra genveje. Hvis der oprettes en genvej i afsnittet "Tabeller" i Lakehouse og er i deltaformatet, kan den også læses som en administreret tabel ved hjælp af Spark SQL-syntaks.
df = spark.read.format("delta").load("Tables/MyShortcut")
display(df)
df = spark.sql("SELECT * FROM MyLakehouse.MyShortcut LIMIT 1000")
display(df)
Bemærk
Deltaformatet understøtter ikke tabeller med mellemrumstegn i navnet. Enhver genvej, der indeholder et mellemrum i navnet, registreres ikke som en deltatabel i lakehouse.
SQL
Genveje i tabelsektionen i Lakehouse kan også læses gennem SQL-slutpunktet for Lakehouse. Dette kan tilgås via tilstandsvælgeren i Lakehouse eller via SQL Server Management Studio (SSMS).
SELECT TOP (100) *
FROM [MyLakehouse].[dbo].[MyShortcut]
Real-Time Analytics
Genveje i KQL-DB'er genkendes som eksterne tabeller. Hvis du vil forespørge genvejen, skal du bruge funktionen "external_table" i Kusto-forespørgselssproget.
external_table('MyShortcut')
| take 100
Bemærk
KQL-databaser understøtter i øjeblikket ikke data i deltaformatet. Tabeller i en KQL-database eksporteres kun til OneLake som parquetfiler. Genveje i KQL-databaser, der indeholder deltaformaterede data i destinationen, genkendes ikke som tabeller.
Analysis Services
Power BI-datasæt kan oprettes for Lakehouses, der indeholder genveje i tabelsektionen i Lakehouse. Når datasættet kører i direct-lake-tilstand, kan Analysis Services læse data direkte fra genvejen.
Ikke-stof
Programmer og tjenester uden for Fabric kan også få adgang til genveje via OneLake-API'en. OneLake understøtter et undersæt af ADLS Gen2- og Blob Storage API'er. Hvis du vil vide mere om OneLake-API'en, skal du se OneLake-adgang med API'er.
https://onelake.dfs.fabric.microsoft.com/MyWorkspace/MyLakhouse/Tables/MyShortcut/MyFile.csv
Typer af genveje
OneLake-genveje understøtter flere filsystemdatakilder. Disse omfatter interne OneLake-placeringer, Azure Data Lake Storage Gen2 og Amazon S3.
Interne OneLake-genveje
Interne OneLake-genveje giver dig mulighed for at referere til data i eksisterende Fabric-elementer. Disse elementer omfatter Lakehouses, KQL-databaser og data warehouses. Genvejen kan pege på en mappeplacering i det samme element, på tværs af elementer i det samme arbejdsområde eller endda på tværs af elementer i forskellige arbejdsområder. Når du opretter en genvej på tværs af elementer, behøver elementtyperne ikke at stemme overens. Du kan f.eks. oprette en genvej i et Lakehouse, der peger på data i en Data Warehouse.
Når du får adgang til data via en genvej til en anden OneLake-placering, bruges identiteten for den kaldende bruger til at give adgang til dataene i genvejens destinationssti*. Denne bruger skal have tilladelser på destinationsplaceringen for at kunne læse dataene.
Vigtigt
Når du får adgang til genveje via Power BI-datasæt eller T-SQL, overføres den kaldende brugers identitet ikke til genvejsmålet. Ejeren af det kaldende elements identitet overføres i stedet og uddelegerer adgang til den kaldende bruger.
ADLS-genveje
Der kan også oprettes genveje til ADLS Gen2-lagerkonti. Når du opretter genveje til ADLS, kan destinationsstien pege på en hvilken som helst mappe i det hierarkiske navneområde. Destinationsstien skal som minimum indeholde et objektbeholdernavn.
Adgang:
ADLS-genveje skal pege på DFS-slutpunktet for lagerkontoen.
Eksempel: https://accountname.dfs.core.windows.net/
Bemærk
ADLS-genveje understøtter ikke private slutpunkter.
Tilladelse:
ADLS-genveje bruger en delegeret godkendelsesmodel. I denne model angiver genvejsopretteren en legitimationsoplysninger for ADLS-genvejen, og al adgang til genvejen godkendes ved hjælp af disse legitimationsoplysninger. De understøttede delegerede typer er Kontonøgle, SAS-token, OAuth og tjenesteprincipal.
SAS-token – skal mindst indeholde følgende tilladelser: Læs, Liste, Udfør
OAuth-identitet – skal have rollen Lager-Blob-datalæser, Lager-Blob Data Contributor eller Storage Blob Data Owner på lagerkontoen.
Tjenesteprincipal – skal have rollen Lager-Blob-datalæser, Lager-Blob-databidragyder eller Lager-Blob-dataejer på lagerkontoen.
S3-genveje
Genveje kan også oprettes til Amazon S3-konti. Når du opretter genveje til Amazon S3, skal målstien indeholde et bucketnavn som minimum. S3 understøtter ikke hierarkiske navneområder oprindeligt, men du kan bruge præfikser til at efterligne en mappestruktur. Du kan inkludere præfikser i genvejsstien for yderligere at indsnævre omfanget af data, der er tilgængelige via genvejen. Når du får adgang til data via et S3-genvejspræfiks, repræsenteres de som mapper.
Adgang:
S3-genveje skal pege på https-slutpunktet for S3-bucket'en.
Eksempel: https://bucketname.s3.region.amazonaws.com/
Bemærk
S3-genveje understøtter ikke private slutpunkter.
Tilladelse:
S3-genveje bruger en delegeret godkendelsesmodel. I denne model angiver genvejsforfatteren en legitimationsoplysninger for S3-genvejen, og al adgang til genvejen godkendes ved hjælp af disse legitimationsoplysninger. De understøttede delegerede legitimationsoplysninger er en nøgle og en hemmelighed for en IAM-bruger.
IAM skal som minimum have læserettigheder (Hent, Liste) for den bucket, som genvejen peger på.
Bemærk
S3-genveje er skrivebeskyttede. De understøtter ikke skrivehandlinger, uanset tilladelserne for IAM-brugeren.
Sådan bruger genveje cloudforbindelser
Godkendelse af ADLS- og S3-genveje uddelegeres via brug af cloudforbindelser. Når du opretter en ny ADLS- eller S3-genvej, opretter en bruger enten en ny forbindelse eller vælger en eksisterende forbindelse til datakilden. Når der er angivet en forbindelse for en genvej, betragtes dette som en "bind"-handling. Det er kun brugere med tilladelse til forbindelsen, der kan udføre bindingshandlingen. Hvis en bruger ikke har tilladelser til forbindelsen, kan vedkommende ikke oprette nye genveje ved hjælp af denne forbindelse.
Tilladelser
Tilladelser til genveje styres af en kombination af tilladelserne i genvejsstien og målstien. Når en bruger tilgår en genvej, anvendes den mest restriktive tilladelse for de to placeringer. Derfor kan en bruger, der har læse-/skrivetilladelser i Lakehouse, men kun læserettigheder i destinationen for genvejen, ikke skrive til genvejens destinationssti. På samme måde har en bruger, der kun har læserettigheder i Lakehouse, men som har læse-/skriveadgang til genvejsmålet, heller ikke tilladelse til at skrive til genvejens destinationssti.
Roller i arbejdsområdet
I følgende tabel vises de genvejsrelaterede tilladelser for hver arbejdsområderolle. Du kan finde flere oplysninger under Arbejdsområderoller.
Egenskab | Administrator | Medlem | Bidragyder | Læser |
---|---|---|---|---|
Opret en genvej | Ja1 | Ja1 | Ja1 | - |
Læse fil-/mappeindhold i genvej | Ja2 | Ja2 | Ja2 | - |
Skriv til målplacering for genvej | Ja3 | Ja3 | Ja3 | - |
Læs data fra genveje i tabelsektionen iLakehouse via TDS-slutpunktet | Ja | Ja | Ja | Yes |
1 Brugeren skal have en rolle, der giver skrivetilladelse til genvejens placering og mindst målplacering for læsetilladelse
2 Brugeren skal have en rolle, der giver læsetilladelse både på genvejsplaceringen og målplaceringen
3 Brugeren skal have en rolle, der giver skrivetilladelse både på genvejsplaceringen og målplaceringen
Hvordan håndterer genveje sletninger?
Genveje udfører ikke overlappende sletninger. Når du udfører en sletning på en genvej, sletter du kun genvejsobjektet. Dataene i genvejsmålet forbliver uændrede. Men hvis du udfører en slettehandling på en fil eller mappe i en genvej, og du har tilladelser til at udføre slettehandlingen på genvejsmålet, slettes filerne og/eller mapperne i destinationen. I følgende eksempel illustreres dette punkt.
Slet eksempel
Bruger A har et lakehouse med følgende sti i sig:
MyLakehouse\Files\MyShortcut\Foo\Bar
MyShortcut er en genvej, der peger på en ADLS Gen2-konto, der indeholder mapperne Foo\Bar .
Sletter et genvejsobjekt
Bruger A udfører en sletning på følgende sti:
MyLakehouse\Files\MyShortcut
I dette tilfælde slettes MyShortcut fra Lakehouse. Genveje udfører ikke overlappende sletninger, og derfor påvirkes filerne og mapperne i ADLS Gen2-kontoen Foo\Bar ikke.
Sletter indhold, der refereres til af en genvej
Bruger A udfører en sletning på følgende sti:
MyLakehouse\Files\MyShortcut\Foo\Bar
Hvis Bruger A i dette tilfælde har skriverettigheder til ADLS Gen2-kontoen, slettes mappen Søjle fra ADLS Gen2-kontoen.
Afstamningsvisning for arbejdsområde
Når du opretter genveje mellem flere Fabric-elementer i et arbejdsområde, kan du visualisere genvejsrelationerne via afstamningsvisningen for arbejdsområdet. Vælg knappen Afstamningsvisning ( ) i øverste højre hjørne af Arbejdsområdeoversigt.
Bemærk
Afstamningsvisningen er begrænset til et enkelt arbejdsområde. Genveje til placeringer uden for det valgte arbejdsområde vises ikke.
Kendte problemer og begrænsninger
- Det maksimale antal genveje pr. Fabric-element er 10.000.
- Det maksimale antal genveje i en enkelt OneLake-sti er 10.
- Det maksimale antal direkte genveje til genvejslinks er 5.
- ADLS- og S3-genvejsmålstier må ikke indeholde reserverede tegn fra RCF 3986 sektion 2.2.
- OneLake-genvejens destinationsstier må ikke indeholde "%"-tegn.
- Genveje understøtter ikke tegn, der ikke er tegn.
- Kopiér Blob-API understøttes ikke for ADLS- eller S3-genveje.
- Funktionen Copy fungerer ikke på genveje, der peger direkte på ADLS-objektbeholdere. Det anbefales at oprette ADLS-genveje til en mappe, der er mindst ét niveau under en objektbeholder.
- OneLake-genveje, der peger på ADLS- eller S3-genveje, understøttes ikke.
- Der kan ikke oprettes flere genveje i ADLS- eller S3-genveje.