Yaml utfører den samme oppgaven som JSON og XML, Bare at det tilbyr et mer menneskelig lesbart format. Med YAML er fokuset på nøkkelverdipar, med hovedvekt på innrykk og linjeseparasjon. Dessuten har YAML rikelig med bruk innen internettmeldinger, datasettigheter og deling av tverrspråklige data.
Videre finner YAML sin plass i eksisterende teknologier, og teknologier som Docker tar i bruk det som den moderne måten å skrive konfigurasjonsfiler. Selv for språk som Python, har vi Pyyaml, som støtter bruk av YAML med Python.
I denne guiden lærer vi alt om YAML, fra syntaks til eksemplene, og sikrer at du kommer ut som en YAML Pro på slutten. La oss komme i gang.
Hvorfor bruke Yaml
JSON og XML er populære måter å skrive konfigurasjonsfiler. Yaml får imidlertid mer popularitet, og her er følgende grunner:
YAML -fil kan ta .yml eller .Yaml Utvidelse.
YAML -syntaks
Den viktigste forskjellen mellom YAML og XML eller JSON er hvordan datastrukturen blir definert. For YAML er definisjonen basert på linjens innrykk og linjeseparasjon. En feil avstand for YAML vil øke en feil, men det gjør YAML til et menneskelig lesbart alternativ blant de tre alternativene.
Når du jobber med YAML, er syntaksen hovedsakelig sentrert om nøkkelverdipar, objekter, lister, kommentarer, multi-linjestrenger osv. La oss dekke hver i detalj og gi eksempler.
Nøkkelverdipar
Når du bruker YAML, tar de fleste elementene nøkkelverdiparformatet. Nøkkelen står for parets navn, og dataene som er knyttet til nøkkelen er verdien. En enkelt lagret verdi blir en skalar. Det er fra nøkkelverdiparene som andre konstruksjoner for YAML er grunnlagt.
Nøkkelverdiparet blir representert som en kartlegging, der kartleggingen avkjørte uordnede nøkkelverdi-noder. Ideelt sett opprettes en kartlegging ved å definere dens Navn, etterfulgt av kolon, en rom, og dets verdi.
Her er et enkelt nøkkelverdipar for en konfigurasjonsfil.
Tidligere bemerker du at kartleggingen følger syntaks for nøkkelverdier. I den første linjen er nøkkelen kurs, og verdien er YAML INNLEDNING.
Merk at innrykk må være den samme. Ellers vil den øke en feil som i følgende bilde:
Arbeider med strenger
I motsetning til JSON og XML, krever YAML ikke omsluttende strenger med enkelt- eller dobbelt anførselstegn. Enten du omslutter dem i anførselstegn eller ikke, vil XML fortsatt fange verdien som en streng.
Følgende eksempel demonstrerer de forskjellige måtene å representere en streng i YAML:
Når du jobber med spesialtegn, for eksempel Newline -karakteren \ n, Du bør legge ved strengen for å unngå at YAML behandler den som en standardstreng i stedet for et spesielt tegn.
Å gjøre det får Yaml til å gjenkjenne spesialtegn og håndtere det som forventet.
For strenger kan du lage YAML gjenkjenne en enkelt og flerlinjestreng, avhengig av hvordan du representerer den.
Hvis du har en lang setning som du vil bryte inn i flere setninger, men vil at den skal bli behandlet som en enkelt linje av analyseren, representerer den som vist nedenfor:
Her er trikset å legge til større enn Skilt (>) slik at analyseren kan behandle verdien som en enkelt linje. Du må også sikre at hver linje har samme innrykk. Ellers vil du få en feil i nøkkelverdiparet ditt.
For å legge til det større enn skiltet, må vi spesifisere om vi ønsker at den siste karakteren skal bli bevart når du behandler. I forrige tilfelle ønsket vi at hver siste karakter av hver linje skulle bevares. Derfor må vi bruke >+ symbol.
Hvis du vil spore hver av de tidligere linjene med en \ n For å legge til en ny linje, bruk rør (|) symbol i stedet.
Slik vil den nye koden se ut. Du kan velge å beholde den siste tegnet ved å legge til en pluss (+) eller ikke beholde det ved å legge til et minus (-).
Med denne metoden liker du en renere måte å lage en ny linje for avsnittet i stedet for å legge til \ n på slutten.
Tall
Du kan bruke tall som en del av skalarene i YAML -filen din. YAML tillater bruk av eksponentiell, oktal, desimal, heltall, flytende verdier og heksadesimal. Med YAML trenger du ikke understreke nummertypen.
Bare legg til det, og forutsatt at det ikke har noen sitater, vil YAML gjenkjenne det som et tall, som følger:
Boolsk
YAML støtter ved bruk av boolske verdier som ligner på hvordan du kan bruke dem med forskjellige programmeringsspråk. Med Yaml kan du lage et nøkkelverdipar der verdien kan være Ja/Nei, av/på, og True/False. Hvis du ikke vil at skalaren skal behandles som en boolsk, lukker du den innen sitater.
Her er følgende eksempel på å bruke Boolean med YAML:
De tre er de vanlige boolske verdiene som YAML gjenkjenner.
Kommentarer
YAML tillater å legge til kommentarer. For å bruke en kommentar, bruk # før kommentarlinjen, og Yaml hopper over kommentarlinjen.
Merk at innrykk eller linjeavstand i kommentaren ikke påvirker noe.
Null
I et tilfelle der du har en null, lar Yaml deg representere den ved hjelp av Tilde (~) eller null nøkkelord.
Ta en titt på følgende eksempel:
En av de tidligere alternativene vil fungere for saken din.
Objekter
Når du oppretter objekter, må du plassere alle attributtene deres på samme innrykknivå. Innrykk skiller objektnavnet og attributtene. På den måten vil analyseren erkjenne at du har opprettet et objekt.
La oss gi følgende eksempel:
I det forrige bildet, legg merke til hvordan hver attributt er innrykket en bredde fra margen, og alle attributter har samme innrykk. Du kan ha hvilken som helst datatype i objektet ditt.
Slik representerer du et objekt i Yaml.
Liste
For å representere en liste, legg til en bindestrek. En liste kan opprettes fra et objekt, der du har et objekt som har forskjellige underkategorier av attributter. Forsikre deg om at du legger til riktig innrykk og linjeseparasjon for å lage en gyldig YAML -fil.
I forrige eksempel har vi en liste over medlemmer som inneholder hvert medlems navn, alder og karriere.
Det er mulig å lage en nestet liste fra en attributt til et objekt. Det kan være en av attributtene som har rikelig med verdi. I så fall kan du opprette en nestet liste i YAML, som vist nedenfor:
For den nestede listen, bruk bindestrek for å representere de primitive dataene under attributtet og sikre at du legger til den nødvendige innrykk og linjeavstand.
Alternativt kan du representere de primitive dataene på en linje for å lage en renere kode. Slik kan den samme nestede listen uttrykkes.
Det vil fremdeles bli analysert som en YAML -liste/matrise.
Arbeide med flere YAML -filer
Den gode nyheten med YAML er at det tillater å jobbe med flere YAML -filer på ett dokument. Denne funksjonen er nyttig for noen som skriver en konfigurasjonsfil for ting som Docker Tools. Det forbedres ettersom du kan ha samme nøkkelnavn i dokumentet, men under en annen YAML -fil.
Å jobbe med flere YAML -filer, og trippel bindestrek (-) For å signalisere starten på den første YAML -filen og gjenta det samme for den andre filen.
Her er et eksempel på et dokument med tre YAML -filer.
Du må legge til de tre bindestrekene for den siste filen for å signalisere slutten.
Implementere ankre og alias
Når du arbeider med en stor konfigurasjonsfil, vil en gitt konfigurasjon sannsynligvis bli gjentatt andre steder i YAML -filen. I så fall vil det føre til duplisering, og unødvendige linjer vil bli brukt.
Heldigvis tillater Yaml å bruke Forankringer (&) og alias (*) For å unngå denne dupliseringen. La oss ha følgende eksempel på en konfigurasjonsfil:
I forrige eksempel, legg merke til hvordan vi har duplisert konfigurasjonsdetaljer for alle sparkene. Vi kan unngå dette ved å bruke ankrene til å definere en konfigurasjonsbit, og deretter bruke aliasene til å referere til den definerte delen andre steder i koden.
Når det er sagt, her er hvordan vi kan omskrive den tidligere konfigurasjonsfilen, og eliminere duplisering.
Vi har nå en renere og forenklet kode uten duplisering. Å bruke alias og anker kommer godt med når konfigurasjonsdetaljene er de samme for alle elementene. Imidlertid kan vi ha et spark med forskjellige prøvetid eller versjoner for vårt eksempel.
I et slikt tilfelle påkaller vi overstyrer (<<:) å endre ankerets detaljer uten å måtte skrive det igjen.
Her er et eksempel på å implementere et overstyringsscenario med Kick2 og Kick3.
Vi ender fremdeles med en forenklet kode.
Merk at du alltid kan bekrefte at YAML -filen din er riktig ved å bruke en online analyser du ønsker. Hvis du har en innrykk eller linjeavstandsfeil, vil den vise en feilutgang for å hjelpe deg med å feilsøke filen din, som i følgende eksempel:
Arbeide med miljøvariabler
Når du oppretter en YAML -fil, kan du bruke en miljøvariabel ved å påkalle den ved hjelp av dollarskiltet. For eksempel kan du bruke $ Bruker Miljøvariabel når du skriver en konfigurasjonsfil som krever Linux -påloggingsdetaljer.
For å gjøre det, bruk miljøvariabelen som $ Bruker, og analyseren vil hente verdien av den spesifiserte miljøvariabelen.
Konklusjon
YAML er en avansert måte å lage konfigurasjonsfiler, og den tilbyr en bedre syntaks å bruke med Docker, Ansible og Kubernetes enn XML eller JSON. Med Yaml får du en menneskelig lesbar renere kode, noe som betyr at hvem som helst kan følge med. Denne guiden har presentert hovedbegrepene for å bruke YAML. Vi har sett syntaksen å følge for YAML og gitt forskjellige eksempler for å hjelpe deg med å bli komfortabel med å bruke YAML for aktivitetene dine. Fortsett å øve for å forstå syntaksen, og du vil elske enkelheten som følger med Yaml.