YAML intermediário

CI/CD para Machine Learning

Ravi Bhadauria

Machine Learning Engineer

Strings multilinha: formato de escalar em bloco

  • Representar strings multilinha ou blocos de texto
    • Trechos de código (comandos de shell)
    • Parágrafos (logs)
    • Arquivos de configuração

Um diagrama hierárquico de string em bloco YAML, com o nó raiz "Block String" destacado.

CI/CD para Machine Learning

Indicadores de estilo - literal

  • Estilo literal (|): preserva quebras de linha e indentação
  • Útil para escrever comandos de shell
commands: |
  echo "Running python script..."
  python3 script.py

Um diagrama hierárquico de string em bloco YAML, com o nó folha "Literal Style" destacado.

CI/CD para Machine Learning

Exemplo de estilo literal

Exemplo YAML de um texto escrito no estilo literal multilinha. O texto é precedido pelo símbolo "|".

Saída do texto escrito no estilo literal multilinha em YAML.

1 https://yaml-multiline.info/
CI/CD para Machine Learning

Indicadores de estilo - dobrado

  • Estilo dobrado (>): remove quebras de linha
  • Útil para escrever mensagens corridas, como parágrafos
message: >
  Successfully executed the code!
  All processes completed 
  without any errors.
  The results have been saved 
  in the designated
  output directory.

Um diagrama hierárquico de string em bloco YAML, com o nó folha "Fold Style" destacado.

CI/CD para Machine Learning

Exemplo de estilo dobrado

Exemplo YAML de um texto escrito no estilo dobrado multilinha. O texto é precedido pelo símbolo ">".

Saída do texto escrito no estilo dobrado multilinha em YAML.

1 https://yaml-multiline.info/
CI/CD para Machine Learning

Indicadores de chomping

  • Controlar o comportamento das quebras de linha no fim da string
  • Adicionado após os indicadores de estilo
  • clip: modo padrão, uma quebra de linha no final
    • Nenhum símbolo extra é necessário

Um diagrama hierárquico de string em bloco YAML, com o nó folha "Clip Chomping indicator" destacado.

CI/CD para Machine Learning

Indicadores de chomping - strip

  • strip (-): remove todas as quebras no final

Um diagrama hierárquico de string em bloco YAML, com o nó folha "Strip Chomping indicator" destacado.

CI/CD para Machine Learning

Exemplo de strip chomping

Exemplo YAML de um texto escrito no estilo literal multilinha com strip chomping. O texto é precedido pelo símbolo "|-".

Saída do texto escrito no estilo literal multilinha com strip chomping em YAML. Este remove todas as quebras no final.

1 https://yaml-multiline.info/
CI/CD para Machine Learning

Indicadores de chomping - keep

  • keep (+): mantém todas as quebras no final

Um diagrama hierárquico de string em bloco YAML, com o nó folha "Keep Chomping indicator" destacado.

CI/CD para Machine Learning

Exemplo de keep chomping

Exemplo YAML de um texto escrito no estilo literal multilinha com keep chomping. O texto é precedido pelo símbolo "|+".

Saída do texto escrito no estilo literal multilinha com keep chomping em YAML. Este não remove quebras no final.

1 https://yaml-multiline.info/
CI/CD para Machine Learning

Injeção dinâmica de valores

  • Expressões permitem que parsers substituam valores dinamicamente
  • Uso:
    • Variáveis de ambiente
    • Referências a outras partes do YAML
  • Tipicamente representadas como ${{ ... }}
database:
  host: ${{ config.database.host }}
  port: ${{ config.database.port }}
  username: ${{ config.database.username }}
  password: ${{ config.database.password }}
CI/CD para Machine Learning

YAML com vários documentos

  • Vários documentos YAML separados em um único arquivo
  • Cada documento contém YAML válido
  • Fácil de organizar por documentos relacionados
  • Separe documentos com três traços –––
___
- name: John
  age: 30
___
- name: Jane
  age: 28
___
- name: Bob
  age: 35
  occupation: Developer
CI/CD para Machine Learning

Resumo

Nome Símbolo YAML
Indicador de estilo literal |
Indicador de estilo dobrado >
Indicador de strip chomping −
Indicador de keep chomping +
Expressões ${{ ... }}
YAML com vários documentos –––
CI/CD para Machine Learning

Vamos praticar!

CI/CD para Machine Learning

Preparing Video For Download...