Not
Åtkomst till denna sida kräver auktorisation. Du kan prova att logga in eller byta katalog.
Åtkomst till denna sida kräver auktorisation. Du kan prova att byta katalog.
För att förbättra flexibiliteten och skalbarheten introducerar vi avancerade variabler tillsammans med de befintliga grundläggande variabeltyperna. Dessa avancerade variabler är utformade för att uppfylla viktiga krav som att parameterisera externa och interna anslutningar (t.ex. Snowflake, AWS, OneLake).
En objektreferensvariabel är en avancerad variabeltyp som används i infrastrukturvariabelbiblioteket för att lagra en referens till ett befintligt infrastrukturobjekt, till exempel en lakehouse, notebook-fil eller datapipeline, genom att lagra arbetsytans ID och objekt-ID. Den här typen av variabel möjliggör intern anslutningsparameterisering, vilket gör att utvecklare dynamiskt kan länka objekt till specifika infrastrukturobjekt baserat på distributionssteg eller arbetsytekontext.
Så här använder du funktionen
En objektreferensvariabel kan användas precis som andra variabler i ett variabelbibliotek.
- Logga in på Microsoft Fabric
- Navigera till arbetsytan och variabelbiblioteket
- Längst upp väljer du + Ny variabel
- Ange ett namn för variabeln, välj objektreferens för typen och klicka sedan på ... för att välja ett värde
- Då öppnas en dialogruta för att välja önskat objekt. Du ser alla objekt som du har behörighet för, tillgängliga för val. Använd utforskaren till vänster för att filtrera listan efter arbetsyta. Använd filtret i det övre högra hörnet för att filtrera efter typ.
6. När den har valts visas den så här på sidan varlib – som en skrivskyddad komponent som visar objektets namn.
Om du behöver redigera en objektreferens eller behöver dubbelkolla värdet:
- om du vill se ytterligare information klickar du på värdet
- om du vill redigera det här värdet eller värdena för andra värdeuppsättningar klickar du på knappen bredvid värdet.
Så här fungerar det
Värdet för en objektreferensvariabel är i stort sett en statisk pekare till ett infrastrukturobjekt som identifieras av arbetsytans ID + objekt-ID. Värdet lagras som ett par GUID:er som motsvarar målobjektets arbetsyta och själva objektet. En referens kan till exempel lagras internt som:
- WorkspaceID = aaaaaaaaa-0000-1111-2222-bbbbbbbbbbbbbb
- ItemID = 00aa00aa-bb11-cc22-dd33-44ee44ee44ee
Dessa två ID:er identifierar tillsammans det refererade objektet unikt.
Tänk på följande när du arbetar med objektreferenser:
- Objektreferenser möjliggör intern anslutningsparameterisering så att utvecklare dynamiskt kan länka objekt till specifika Infrastrukturresurser baserat på distributionssteg eller arbetsytekontext.
- Referensen är statisk och pekar på ett visst objekt och justeras inte automatiskt mellan miljöer.
- För scenspecifika variationer använder du värdeuppsättningar, där varje uppsättning kan peka på ett annat statiskt objekt (t.ex. olika sjöhus per steg).
- Alla värden i värdeuppsättningar ska vara av samma objekttyp för att säkerställa kompatibilitet och förhindra körningsfel. Men vi framtvingar inte att ha samma objekttyp över värdeuppsättningar.
Objekt som stöds
Följande är en lista över objekt som för närvarande stöds med hjälp av objektreferens:
- Genväg för ett sjöhus
- Användardatafunktioner
- Notebook, via NotebookUtils
Anmärkning
Notebook,through %%configure stöds inte.
Begränsningar
För närvarande kan du bara referera till tygobjekt och semantiska modeller. Andra Power BI-objekt, till exempel Datamarts, Dataflow Gen1 stöds för närvarande inte.
Behörigheter som krävs för att skapa/använda objektreferenser
Användning av objektreferensvariabler omfattar två behörighetsnivåer:
- Skapa/redigera – Även om alla arbetsytedeltagare kan ändra variabelvärden, tillåter en objektreferensvariabel endast användare att ange som värdeobjekt som de har läsbehörighet för. Detta gäller för valfritt värde, den aktiva standardvärdeuppsättningen eller andra värdeuppsättningar. Tänk på att när du sparar ett variabelbiblioteksobjekt utförs en behörighetskontroll på de aktiva värdena för objektreferensvariabler för den användare som sparar objektet, även om dessa värden förblir oförändrade.
- Använd en objektreferensvariabel – När du skapar/uppdaterar en referens till en variabel i ett konsumentobjekt kan användarna inte ange en referens till en objektreferensvariabel om de inte har minst LÄS-behörighet för objektet i den aktiva värdeuppsättningen.
Behörighetsverifiering
Behörighetsvalidering utlöses i följande användningsfall:
Redigera ett variabelbiblioteksobjekt med objektreferensvariabler När vi redigerar verifierar vi både att de refererade objekten finns och att användaren har minst läsbehörighet till dem för alla objektreferensvärden i den aktiva värdeuppsättningen för följande scenarier:
Användargränssnitt – Under SPARA av objektet Variabelbibliotek utförs en behörighetskontroll på de aktiva värdena för objektreferensvariabler för den användare som sparar objektet, även om dessa värden förblir oförändrade.
API:er/Git Update – Behörighetskontrollen utförs vid uppdateringen och misslyckas om läsbehörighet saknas till det aktiva värdet av objektrefs i den uppdaterade arbetsytan.
Distribution – Distributionen av ett variabelbiblioteksobjekt misslyckas om det inte finns läsbehörighet till objekt ref:ns aktiva värde för målarbetsytan.
Visa ytterligare detaljer om objektreferens på sidan Variabelbibliotek (endast användargränssnitt). Användare med åtkomst till variabelbiblioteket (WS-tittare eller högre) som saknar behörighet för objektet i den refererade objektvariabeln, kommer inte att se dess detaljer i användargränssnittet. I stället ser de objekt-ID:t tillsammans med ett hovringsmeddelande i stället för informationskomponenten.
Referensvariabel för skapa/redigera objekt
- Användargränssnitt – När du uppdaterar Värdet för en värdeuppsättning (standardvärde eller annat) kan användaren välja objekt från en lista som endast visar objekt som han eller hon har minst läsbehörighet till.
- API:er/Git-uppdatering eller distribution – se Redigera variabelbiblioteksobjekt ovan.
Användning av objektreferensvariabel i ett konsumentobjekt
- Användargränssnitt – Skapa en referens till variabel – När du i ett objekt skapar en referens till en objektreferensvariabel med hjälp av dialogrutan Välj variabel i användargränssnittet (till exempel i Genväg för Lakehouse och datapipelinen) finns det en verifiering av att användaren som skapar referensen har minst läsbehörighet till objekten i variablerna "objektreferens" (valideringen gäller endast för de aktiva värdena). Annars ser användaren bara objektens ID.
Beteende mellan CI/CD-pipelines och distributionssteg
Variabelbiblioteket möjliggör CI/CD för Fabric-innehåll över miljöer (Dev, Test, Prod) med hjälp av variabler för objektreferens vid scen-specifika konfigurationer. Tänk på följande:
Statiska referenser
- Objektreferenser är knutna till en specifik arbetsyta och objekt-ID.
- När du distribuerar till ett nytt steg pekar dessa referenser fortfarande på den ursprungliga arbetsytan, om de inte uppdateras manuellt.
- Använd flera värdeset för varje steg och aktivera rätt uppsättning manuellt eller via API-skript.
Mer information finns i värdeuppsättningar i variabelbibliotek.
Representation i Git och API:er
Variabelbiblioteket hanteras som kod. Med git- eller REST-API:er har objektreferensvariabler ett tydligt JSON-format. Alla variabler visas i definitionsfilen för variabelbiblioteket (lagras i Git, vanligtvis .json), och visar egenskaper som namn, typ och värde.
För en variabel för objektreferens (statisk) är värdet strukturerade data för arbetsytan och objekt-ID:t. Exempel:
{
"name": "MyDataLake",
"note": "",
"type": "ItemReference",
"value": {
"itemId": "00aa00aa-bb11-cc22-dd33-44ee44ee44ee",
"workspaceId": "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb"
}
}
Kom ihåg följande när du arbetar via API:
- Endast ID:er lagras; Namn och metadata hämtas vid körning eller cachelagras i Fabric.
- När du skapar/uppdaterar via API anger du arbetsytan och objekt-ID:n. Ogiltiga ID:er orsakar fel.
Relaterat innehåll
- Översikt över variabelbibliotek
- Variabeltyper
- Värdeuppsättningar
- Behörigheter för variabelbibliotek](./variable-library-permissions.md)