Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Waardesets in een variabelebibliotheek bieden alternatieve sets waarden voor de gedefinieerde variabelen, ondersteunende scenario's zoals omgevingsspecifieke configuraties (bijvoorbeeld dev, test, prod), A/B-tests of het schakelen tussen gegevensbronnen binnen dezelfde werkruimte.
Elke waardeset wordt gemaakt als een verzameling aanwijzers naar de standaardwaarde voor variabelen, die indien nodig kan worden overschreven. Slechts één waardeset kan tegelijk actief zijn voor een bepaalde werkruimte en gebruikers kunnen de actieve set eenvoudig overschakelen via de gebruikersinterface of API.
Waardesets hebben een unieke naam in de bibliotheek en kunnen worden hernoemd, opnieuw gerangschikt (alleen via Git of de update met definitie-API) of verwijderd (met beveiliging om te voorkomen dat de actieve set wordt verwijderd zonder opnieuw toewijzen). Het systeem houdt wijzigingen bij en dwingt groottelimieten af om de prestaties te garanderen, en eventuele wijzigingen in waardesets worden gevalideerd voordat ze worden opgeslagen. Deze structuur maakt robuust configuratiebeheer mogelijk, zodat ontwikkelaars implementaties kunnen automatiseren en consistentie kunnen onderhouden in meerdere omgevingen en fasen.
Structuur en implementatie van waardesets
De definitie van het item Variabele bibliotheek is gestructureerd ter ondersteuning van meerdere waardesets. In het schema van het item (de JSON-definitie) worden alle variabelen en de standaardwaarden weergegeven in een primaire sectie (ook wel het bestand 'Standaardwaarden' genoemd in Git). Elke extra waardeset wordt opgeslagen als een afzonderlijke entiteit (of bestand) die alleen de variabelen bevat die afwijken van de standaardwaarde. Met andere woorden, als de waarde van een variabele in een bepaalde waardeset gelijk is aan de standaardwaarde, wordt deze niet expliciet herhaald in de definitie van die waardeset.
Standaardwaardeset: Altijd aanwezig en bevat de basislijnwaarde van elke variabele (samen met metagegevens zoals naam en type). Het bestand met standaardwaarden somt alle variabelen op met hun standaard (primaire) waarden.
Alternatieve waardeset: Voor elke extra waardeset (bijvoorbeeld een waardeset 'Testen' of 'Prod') geeft de definitie alleen de variabelen weer waarbij de waarde de standaardwaarde overschrijft. Als een variabele niet wordt vermeld in een bepaald waardesetbestand, wordt impliciet de standaardwaarde voor die set gebruikt.
Voorbeeld: Als u een variabele ConnectionString hebt met de standaardwaarde dev-server en u een 'Production'-waarde maakt die deze waarde overschrijft op 'prod-server', heeft de standaarddefinitie ConnectionString = "dev-server" en bevat het bestand van de waardeset Productie ConnectionString = "prod-server" (en niets voor variabelen die ongewijzigd blijven). Deze benadering houdt waardensetdefinities lean en markeert alleen de verschillen.
Weergave van broncodebeheer
In de Git-integratie van Fabric wordt het bovenstaande schema omgezet in meerdere bestanden onder de map Variabele bibliotheek. Elk waardeset wordt geserialiseerd naar een eigen JSON-bestand (genoemd naar de waardeset) dat de overschrijvingen bevat, los van het standaardwaardenbestand. Een VL-item 'MyVars' kan bijvoorbeeld het volgende hebben:
MyVars_Default.json: de standaardwaarden van alle variabelen. MyVars_Prod.json: alleen variabelen met waarden die verschillen voor de prod-fase. MyVars_Test.json: alleen variabelen met waarden die verschillen voor testfase.
Deze duidelijke scheiding betekent dat u wijzigingen in de configuratie van elke omgeving onafhankelijk in broncodebeheer kunt bijhouden.
Belangrijk is dat de selectie van de actieve waardeset geen deel uitmaakt van deze definitiebestanden. Deze wordt opgeslagen als itemstatus (een instelling op werkruimteniveau), zodat het implementeren of importeren van het item niet overschrijft welke waardeset momenteel actief is in een bepaalde werkruimte. (Meer informatie over actieve waardesets hieronder.)
Schema- en gegevenstypen
Waardesets introduceren geen nieuwe gegevenstypen; ze bevatten waarden van dezelfde typen die door elke variabele zijn gedefinieerd. De itemdefinitie registreert de naam van elke variabele, het type, de standaardwaarde en de optionele opmerking. Complexe variabeletypen, zoals itemreferenties , hebben gestructureerde schema's (waarbij id's worden opgeslagen), maar deze waarden worden weergegeven in elke waardeset met behulp van een consistente JSON-structuur (een itemreferentie slaat bijvoorbeeld werkruimte-id en item-id op voor het item van die fase). Alle waardensetbestanden volgen dezelfde schemastructuur als de standaardstructuur: in wezen een toewijzing van variabelenamen aan de waarden van die set (alleen de waarden die afwijken van de standaardinstelling).
Naamconventies voor waardesets
De naam van een waarde die in een variabelebibliotheek is ingesteld, moet de volgende conventies volgen:
- Is niet leeg
- Heeft geen voorloop- of volgspaties
- Begint met een letter of een onderstrepingsteken
- Kan letters, cijfers, onderstrepingstekens en afbreekstreepjes bevatten
- Mag niet langer zijn dan 256 tekens
Nadat een variabele een gedefinieerde waarde heeft, wordt er een toestemmingsdialoogvenster weergegeven als u probeert het type te wijzigen. Het dialoogvenster waarschuwt u dat alle variabelewaarden opnieuw worden ingesteld en dat deze wijziging een belangrijke wijziging kan zijn aan de zijde van het consumentenitem.
Overwegingen en beperkingen
Beperkingen voor alternatieve waardesets
- Alternatieve waardesets in een variabelebibliotheek worden weergegeven in de volgorde waarin u ze hebt toegevoegd. Op dit moment kunt u ze niet opnieuw ordenen in de gebruikersinterface. Als u de volgorde wilt wijzigen, bewerkt u het JSON-bestand rechtstreeks.
- De naam van elke waardeset moet uniek zijn binnen een variabelebibliotheek.
- Namen van variabelen moeten uniek zijn binnen een variabelebibliotheek. U kunt twee variabelen met dezelfde naam in een werkruimte hebben als ze zich in verschillende items bevinden.
- Er is altijd één (en slechts één) actieve waarde die is ingesteld in een variabele bibliotheek tegelijk. U kunt een waardeset niet verwijderen terwijl deze actief is. Als u deze wilt verwijderen, configureert u eerst een andere waarde die is ingesteld op actief. U kunt voor elke fase van een implementatiepijplijn een andere actieve waarde instellen.