# Επικυρωτής YAML

Ελέγξτε το YAML για συντακτικά σφάλματα πριν προκαλέσουν διακοπή σε μια ανάπτυξη ή σε μια διοχέτευση CI. Ο επικυρωτής αναλύει κάθε έγγραφο εισόδου με έναν αναλυτή YAML 1.2, απορρίπτει διπλότυπα κλειδιά, στηλοθέτες για εσοχή και ανεξέλεγκτη επέκταση ψευδωνύμων και αναφέρει το πρώτο σφάλμα μαζί με το έγγραφο, τη γραμμή και τη στήλη του. Για έγκυρη είσοδο εμφανίζει τον αριθμό των εγγράφων, τον τύπο ανώτατου επιπέδου του καθενός και τυχόν προειδοποιήσεις. Για όσους συντάσσουν διαμορφώσεις για Kubernetes και Docker Compose.

## Συχνές ερωτήσεις

### Τι ελέγχει ο επικυρωτής YAML;

Αναλύει ολόκληρη τη σύνταξη YAML: εσοχές, συλλογές μπλοκ και ροής, τιμές σε εισαγωγικά και απλές τιμές, άγκυρες, ψευδώνυμα, ετικέτες και οδηγίες. Αντιμετωπίζει επίσης τα διπλότυπα κλειδιά σε μια αντιστοίχιση ως σφάλμα. Το αποτέλεσμα είναι είτε επιβεβαίωση με σύντομη σύνοψη είτε το πρώτο σφάλμα μαζί με τη θέση και την επεξήγησή του.

### Ποια έκδοση YAML ακολουθεί;

Ο validator χρησιμοποιεί το βασικό σχήμα YAML 1.2, την τρέχουσα έκδοση της προδιαγραφής. Στην έκδοση 1.2, λέξεις όπως yes, no, on και off είναι απλές συμβολοσειρές και όχι boolean, οπότε δεν προκαλούν ποτέ σφάλμα. Έγγραφα γραμμένα για εργαλεία YAML 1.1 εξακολουθούν να γίνονται δεκτά, αρκεί η σύνταξή τους να είναι έγκυρη.

### Γιατί αναφέρονται τα διπλότυπα κλειδιά ως σφάλματα;

Η προδιαγραφή YAML απαιτεί τα κλειδιά σε μια αντιστοίχιση να είναι μοναδικά. Πολλοί parsers διατηρούν σιωπηρά την τελευταία τιμή, με αποτέλεσμα να αποκρύπτονται σφάλματα ρυθμίσεων, όπως όταν μια παράμετρος ορίζεται δύο φορές. Ο validator αναφέρει τη γραμμή και τη στήλη του επαναλαμβανόμενου κλειδιού, ώστε να αποφασίσετε ποια τιμή θα κρατήσετε.

### Πώς υπολογίζονται οι αριθμοί γραμμής, στήλης και εγγράφου;

Οι γραμμές και οι στήλες ξεκινούν από το 1, από την αρχή της εισόδου που επικολλάτε. Τα έγγραφα υπολογίζονται με τη σειρά εμφάνισής τους και χωρίζονται με γραμμές ---, επομένως το πρώτο έγγραφο είναι το έγγραφο 1. Η θέση υποδεικνύει το σημείο όπου ο parser εντόπισε το πρόβλημα, το οποίο μπορεί να βρίσκεται αμέσως μετά το πραγματικό λάθος.

### Μπορώ να επικυρώσω πολλά έγγραφα YAML ταυτόχρονα;

Ναι. Διαχωρίστε τα έγγραφα με --- όπως σε ένα Kubernetes manifest πολλών εγγράφων και θα γίνει ανάλυση κάθε εγγράφου. Ένα έγκυρο αποτέλεσμα εμφανίζει τον αριθμό των εγγράφων και τον τύπο ανώτατου επιπέδου καθενός.

### Τι σημαίνει ο τύπος ανώτατου επιπέδου;

Σας δείχνει τι περιέχει κάθε έγγραφο στη ρίζα του: μια αντιστοίχιση κλειδιών και τιμών, μια ακολουθία στοιχείων, μία απλή τιμή ή τίποτα. Τα περισσότερα αρχεία ρυθμίσεων είναι αντιστοιχίσεις, ενώ οι λίστες πόρων είναι συχνά ακολουθίες. Ένας λανθασμένος τύπος εδώ συνήθως σημαίνει ότι υπάρχει παύλα ή εσοχή σε λάθος σημείο.

### Τι είναι οι προειδοποιήσεις;

Οι προειδοποιήσεις αφορούν προβλήματα που δεν διακόπτουν την ανάλυση, για παράδειγμα μια ετικέτα που δεν αναγνωρίζει ο parser και την οποία διαβάζει ως απλή τιμή. Κάθε προειδοποίηση εμφανίζεται με τη γραμμή και τη στήλη της, έως 20 συνολικά. Ένα έγγραφο με προειδοποιήσεις εξακολουθεί να θεωρείται έγκυρο.

### Γιατί απορρίπτονται οι χαρακτήρες tab;

Το YAML απαγορεύει τους χαρακτήρες tab για εσοχή, επειδή το πλάτος τους είναι αμφίσημο. Αντικαταστήστε τα tab στην αρχή της αναφερόμενης γραμμής με κενά και διατηρήστε συνεπείς εσοχές με τις γύρω γραμμές. Τα tab μέσα σε τιμές και συμβολοσειρές σε εισαγωγικά επιτρέπονται.

### Προστατεύεται από επιθέσεις με υπερβολική επέκταση alias;

Ναι. Τα alias μπορούν να επεκταθούν έως 100 φορές, επομένως ένα έγγραφο που έχει φτιαχτεί για να πολλαπλασιάζει alias σε gigabytes δεδομένων, σε μια επίθεση που συχνά αποκαλείται billion laughs, αναφέρεται ως μη έγκυρο αντί να εξαντλήσει τη μνήμη. Η κανονική χρήση anchors και alias για κοινές ρυθμίσεις παραμένει πολύ κάτω από αυτό το όριο.

### Επικυρώνει βάσει σχήματος όπως το Kubernetes ή το OpenAPI;

Όχι, ελέγχει μόνο τη σύνταξη και τη δομή, όχι αν τα κλειδιά και οι τιμές αντιστοιχούν σε κάποιο συγκεκριμένο σχήμα. Οι είσοδοι μπορούν να έχουν μέγεθος έως 5 MiB. Για να μετατρέψετε έγκυρο YAML σε JSON, TOML ή άλλη μορφή, χρησιμοποιήστε τον Μετατροπέα μορφών δεδομένων.

Η διαφήμισή σας εδώ;

[Στείλτε μας email](mailto:hi@dennn.is?subject=%CE%94%CE%B9%CE%B1%CF%86%CE%AE%CE%BC%CE%B9%CF%83%CE%B7%20%CF%83%CF%84%CE%BF%20OneClick%20Pro)

[Διαφήμιση Η σουίτα πρόσθετων έτοιμη για πράκτορες του WordPress.](https://sleekwp.com/?ref=oneclickpro)
