Del via


Verdisett i variabelbiblioteker

Verdisett i et variabelbibliotek gir alternative sett med verdier for de definerte variablene, og støtter scenarier som miljøspesifikke konfigurasjoner (for eksempel utvikling, test, produksjon), A/B-testing eller datakildebytte innenfor samme arbeidsområde.

Hvert verdisett opprettes som en samling pekere til standardvariabelens verdi, som kan overstyres etter behov. Kun ett verdisett kan være aktivt om gangen for et gitt arbeidsområde, og brukere kan enkelt bytte det aktive settet via UI eller API.

Verdisett har unike navn i biblioteket og kan omdøpes, omorganiseres (kun gjennom git eller oppdatering med definisjons-API), eller slettes (med sikkerhetstiltak for å forhindre sletting av det aktive settet uten omfordeling). Systemet sporer endringer og håndhever størrelsesgrenser for å sikre ytelse, og enhver endring i verdisettene valideres før lagring. Denne strukturen muliggjør robust konfigurasjonsstyring, slik at utviklere kan automatisere distribusjoner og opprettholde konsistens på tvers av flere miljøer og stadier.

Struktur og implementering av verdisett

Variabelbibliotekets definisjon er strukturert for å støtte flere verdisett. I elementets skjema (dets JSON-definisjon) er alle variabler og deres standardverdier listet i en primærseksjon (ofte kalt "Default values"-filen i Git). Hvert ekstra verdisett lagres som en separat enhet (eller fil) som kun inneholder variablene som avviker fra standarden. Med andre ord, hvis en variabels verdi i et gitt verdisett er den samme som standarden, gjentas den ikke eksplisitt i definisjonen av det verdisettet.

  • Standardverdisett: Alltid til stede og inneholder hver variabels grunnverdi (sammen med metadata som navn og type). Standardverdifilen lister opp alle variabler med deres standard (primære) verdier.

  • Alternativt verdisett: For hvert tilleggsverdisett (for eksempel et "Test"- eller "Prod"-verdisett), lister definisjonen kun opp de variablene hvor verdien overstyrer standarden. Hvis en variabel ikke er listet i en bestemt verdisettfil, bruker den implisitt standardverdien for det settet.

Eksempel: Hvis du har en variabel ConnectionString med standardverdien "dev-server", og du lager et "Production"-verdisett som overstyrer dette til "prod-server", vil standarddefinisjonen ha ConnectionString = "dev-server", og filen til "Production"-verdisettet vil inneholde ConnectionString = "prod-server" (og ingenting for variabler som forblir uendret). Denne tilnærmingen holder verdisettdefinisjonene slanke og fremhever kun forskjellene.

Kildekontrollrepresentasjon

I Fabrics Git-integrasjon oversettes skjemaet ovenfor til flere filer under Variable Library-mappen. Etter design er hvert verdisett serialisert til sin egen JSON-fil (oppkalt etter verdisettet) som inneholder dets overstyringer, adskilt fra standardverdifilen. For eksempel kan et VL-element "MyVars" ha:

MyVars_Default.json – alle variablers standardverdier. MyVars_Prod.json – kun variabler med verdier som varierer for "produksjons"-stadiet. MyVars_Test.json – kun variabler med forskjellige verdier for "Test"-stadiet.

Denne klare separasjonen betyr at du kan spore endringer i hvert miljøs konfigurasjon uavhengig i kildekontroll.

Viktig er det at valget av aktivt verdisett ikke er en del av disse definisjonsfilene – det lagres som elementstatus (en arbeidsplass-nivå-innstilling) slik at distribusjon eller import av elementet ikke overskriver hvilket verdisett som er aktivt i et gitt arbeidsområde. (Mer om aktive verdisett nedenfor.)

Skjema og datatyper

Verdisett introduserer ikke nye datatyper; de har verdier av samme type definert av hver variabel. Gjenstandsdefinisjonen registrerer hver variabels navn, type, standardverdi og valgfrie notat. Komplekse variabeltyper som Item reference har strukturerte skjemaer (lagring av ID-er), men disse verdiene representeres i hvert verdisett ved hjelp av en konsistent JSON-struktur (for eksempel lagrer en itemreferanse arbeidsområde-ID + item-ID for det stagets element). Alle verdisettfiler følger samme skjemastruktur som standard: i praksis en kartlegging av variabelnavn til det settets verdier (kun inkludert de som avviker fra standard).

Navngivningskonvensjoner for verdisett

Navnet på et verdisett i et variabelbibliotek må følge disse konvensjonene:

  • Er ikke tom
  • Har ikke innledende eller etterfølgende mellomrom
  • Starter med en bokstav eller et understrekingstegn
  • Kan inneholde bokstaver, tall, understrekingstegn og bindestreker
  • Ikke mer enn 256 tegn

Når en variabel har en definert verdi, vises en samtykkedialogboks hvis du prøver å endre typen. Dialogboksen varsler deg om at alle variabelverdiene vil bli tilbakestilt, og at denne endringen kan være en viktig endring på forbrukervaresiden.

Hensyn og begrensninger

Begrensninger for alternative verdisett

  • Alternative verdisett i et variabelbibliotek vises i den rekkefølgen du la dem til. For øyeblikket kan du ikke endre rekkefølgen på dem i brukergrensesnittet. Hvis du vil endre rekkefølgen, redigerer du JSON-filen direkte.
  • Navnet på hvert verdisett må være unikt i et variabelbibliotek.
  • Variabelnavn må være unike i et variabelbibliotek. Du kan ha to variabler med samme navn i et arbeidsområde hvis de er i forskjellige elementer.
  • Det er alltid én (og bare én) aktiv verdi angitt i et variabelbibliotek om gangen. Du kan ikke slette et verdisett mens det er aktivt. Hvis du vil slette den, må du først konfigurere en annen verdi som er satt til å være aktiv. Du kan ha en annen aktiv verdi angitt for hver fase i et utrullingssamlebånd.