Skip to Content

Cos'è YAML e come si scrivono le stringhe multiriga?

YAML, acronimo di "yet another markup language" o "YAML ain't markup language", è un formato pensato appositamente per i dati, non per i documenti. YAML è un linguaggio di serializzazione dei dati utilizzato per scrivere file di configurazione per il deployment dell'infrastruttura. Ad esempio, per distribuire un'applicazione Docker su Kubernetes, si può utilizzare un file YAML per configurare l'istanza. Essendo un linguaggio leggibile, è facile da usare per creare un file di istruzioni da eseguire durante il deployment.

Se non hai esperienza con i file YAML, non ci metterai molto a capire che serve un modo per spezzare le stringhe in più righe (e infatti questo è uno dei dubbi più frequenti che trovi sul web quando si parla di YAML). In questo articolo descriveremo i due metodi principali per scrivere stringhe multiriga in YAML e risponderemo ad altre domande frequenti.

YAML e gli spazi: cosa c'è da sapere

I file YAML utilizzano spazi e ritorni a capo, ma quando vengono inseriti in una risorsa specifica, i contenuti vengono serializzati. Gli sviluppatori che compilano i file YAML possono formattare il testo con i rientri e le spaziature per renderlo più leggibile. YAML considera gli spazi come fanno gli altri linguaggi in modo da avere il numero giusto per formattare il file.

Come dividere le righe in YAML

Quando inserisci i file YAML, è possibile che voglia mantenere le interruzioni di riga sotto forma di stringa multiriga. Prendiamo questo codice fittizio come esempio:

    key:

            item1

            item2

            item3

Dopo ogni voce (item1, item2 e item3), è presente un ritorno a capo. Lasciando la sintassi YAML così com'è, la stringa avrebbe il formato seguente:

item1 item2 item3

Questo formato crea una stringa lunga senza ritorno a capo, né interruzioni di riga. Per mantenerle, puoi utilizzare l'operatore letterale pipe, che corrisponde alla barra verticale (I). Quindi, per mantenere le interruzioni di riga, la sintassi YAML va modificata come segue:

    key: |

            item1

            item2

            item3

L'operatore pipe è stata inserito dopo l'istruzione "key". Quando l'applicazione acquisisce il file YAML, la stringa verrà convertita nel formato seguente:

item1\nitem2\nitem3

Il carattere "\n" rappresenta una nuova riga. In questo modo ogni voce sarà seguita da un ritorno a capo, mantenendo il formato delle istruzioni YAML.

Differenza tra blocchi multiriga e stringhe lunghe

Per le stringhe lunghe, devi utilizzare blocchi multiriga per leggere un file YAML. Ad esempio, se un file YAML contiene un paragrafo di 250 parole, devi dividere le frasi in blocchi multiriga. Il ritorno a capo va mantenuto solo alla fine del paragrafo. Puoi formattare il file YAML in modo da utilizzare più righe per le stringhe lunghe e serializzare la stringa in modo da aggiungere gli spazi alla fine di ogni voce al posto di un carattere di nuova riga. 

Per usare lo spazio al posto del carattere di nuova riga, inserisci l'operatore di fold (>):

    key: >

            item1

            item2

            item3

Con l'operatore di fold, YAML ha aggiunto uno spazio quando crea la stringa. La stringa assume il formato seguente:

item1 item2 item3\n

Domande frequenti sul formato multiriga YAML

Come si può inserire un'interruzione di riga in YAML?

Basta utilizzare un operatore letterale (|) per mantenere le interruzioni di riga in una stringa YAML. In questo modo si crea un'interruzione con ritorno a capo come in un documento standard. Ecco un codice di esempio per mantenere il ritorno a capo:

    key: |

            item1

            item2

            item3

Un file YAML può contenere righe vuote?

Sì, una stringa rappresentata da un blocco di testo può contenere anche righe vuote. L'operatore di keep (|+)  mantiene le righe vuote presenti con il carattere di nuova riga. Ecco un esempio di stringa multiriga con due righe vuote alla fine del blocco:

    key: |+

            item1

            item2

            item3

Un parser YAML dalla sintassi precedente ricaverà questa stringa:

item1\nitem2\nitem3\n\n

La sintassi YAML considera gli spazi?

La tabulazione non è consentita in YAML, per questo è necessario utilizzare i rientri con uno spazio semplice. Le tabulazioni sono ammesse nelle stringhe tra virgolette, ma non possono essere utilizzate per formattare un file YAML file. La coerenza dei rientri con spazio è importante per la leggibilità dei dati.

Gli spazi sono consentiti in YAML?

Sì, un file YAML può contenere gli spazi, che devono essere usati per i rientri. Le tabulazioni non sono consentite perché possono causare errori durante l'analisi del file YAML.

12/2024
Portworx on Red Hat OpenShift Bare Metal Reference Architecture
A validated architecture and design model to deploy Portworx® on Red Hat OpenShift running on bare metal hosts for use with OpenShift Virtualization.
Reference architecture
33 pagine
CONTATTACI
Domande?

Hai domande o commenti sui prodotti o sulle certificazioni di Pure?  Siamo qui per aiutarti.

Prenota una demo

Prenota una demo per vedere come puoi trasformare i tuoi dati in risultati concreti con Pure. 

Telefono: +39 02 9475 9422

Media: pr@purestorage.com

 

Pure Storage Italia

Spaces c/o Bastioni di Porta Nuova, 21

Milano, 20121

+39 02 9475 9422

italia@purestorage.com

CHIUDI
Il browser che stai usando non è più supportato.

I browser non aggiornati spesso comportano rischi per la sicurezza. Per offrirti la migliore esperienza possibile sul nostro sito, ti invitiamo ad aggiornare il browser alla versione più recente.