Glossário

YAML alias

Atualizado em · 4 min de leitura

Definição

YAML alias é um recurso da linguagem YAML que permite reaproveitar um bloco de dados já definido em outro ponto do mesmo arquivo. O bloco original recebe uma âncora, marcada com &, e o alias, marcado com *, aponta para ela, evitando repetição em arquivos de configuração e especificações de API.

Também conhecido como: YAML alias, Alias YAML, Referência YAML, Âncora e alias YAML, YAML anchor e alias

O que é YAML e onde entra o alias?

YAML é um formato de texto usado para escrever dados estruturados de forma legível para pessoas. Ele é muito comum em arquivos de configuração, manifestos de infraestrutura e especificações de API, como documentos OpenAPI que descrevem os endpoints de uma API fiscal.

O alias é a forma que o YAML oferece para dizer "use aqui o mesmo conteúdo que já escrevi lá em cima". Em vez de copiar e colar um trecho várias vezes, você escreve uma vez, dá um nome a ele e depois faz referência a esse nome quantas vezes precisar.

Como funciona a âncora e o alias no YAML?

O funcionamento envolve dois símbolos. O & cria uma âncora: ao escrever, por exemplo, configuracao_padrao: &padrao, você marca aquele bloco com o nome padrao. Depois, em qualquer ponto posterior do arquivo, escrever *padrao faz o leitor do YAML tratar aquele lugar como se o bloco inteiro estivesse ali.

Uma regra importante é a ordem: o alias só pode apontar para uma âncora que já apareceu antes no arquivo. Além disso, âncoras e aliases valem apenas dentro do mesmo documento YAML; não é possível referenciar um bloco que está em outro arquivo usando esse recurso.

Para que serve o YAML alias na prática?

A principal utilidade é eliminar repetição. Em arquivos longos, é comum que vários trechos compartilhem as mesmas informações, como tempo limite de conexão, número de tentativas ou cabeçalhos de autenticação. Com alias, essas informações ficam em um único lugar.

Isso reduz erros de manutenção: se um valor mudar, basta alterá-lo na âncora, e todos os pontos que usam o alias passam a refletir a mudança. Em integrações fiscais, isso ajuda a manter consistentes, por exemplo, as configurações dos ambientes de homologação e de produção.

O que é a chave de mesclagem << usada junto com alias?

Muitos leitores de YAML aceitam a chave especial <<, chamada de merge key. Ao escrever <<: *padrao dentro de um bloco, você copia todos os campos da âncora para aquele bloco e pode, em seguida, sobrescrever apenas os campos que precisam ser diferentes.

Esse recurso é útil para criar variações de uma configuração base. Porém, ele não faz parte da especificação mais recente do YAML em todos os contextos, então o suporte depende da biblioteca ou ferramenta usada. Vale testar antes de confiar nele em arquivos críticos.

Qual a diferença entre YAML alias e JSON?

O JSON não possui um mecanismo equivalente a âncoras e aliases: cada dado precisa ser escrito por completo onde for usado. Quando um arquivo YAML com aliases é convertido para JSON, os aliases são expandidos, ou seja, o conteúdo referenciado é copiado para cada ponto em que aparecia.

Por isso, um arquivo YAML pode ser bem mais curto que o JSON equivalente. Para a API que recebe os dados, o resultado é o mesmo; o alias é apenas uma facilidade de escrita para quem mantém o arquivo.

Quais cuidados tomar ao usar YAML alias?

O uso excessivo de aliases pode deixar o arquivo difícil de entender, porque quem lê precisa voltar até a âncora para saber o que está sendo reaproveitado. Nomes de âncora claros ajudam bastante.

Há também um cuidado de segurança: aliases aninhados podem ser usados para criar arquivos pequenos que se expandem em volumes enormes de dados ao serem lidos, sobrecarregando o sistema. Sistemas que processam YAML enviado por terceiros devem usar bibliotecas com limites de expansão ou desativar esse recurso.

Exemplos de YAML alias

  • Em uma especificação OpenAPI escrita em YAML, a equipe define uma única vez a resposta de erro de validação fiscal com a âncora &erro_validacao e reaproveita com *erro_validacao nos endpoints de emissão de NF-e, NFS-e e NFC-e.
  • Um arquivo de configuração de um ERP define um bloco &retry_padrao com número de tentativas e intervalo entre elas e o reutiliza nas chamadas de emissão, consulta de status e cancelamento de documentos fiscais.
  • Um manifesto de Kubernetes usa uma âncora para os limites de memória e CPU e aplica o mesmo bloco, via alias, aos serviços que consomem a API fiscal e aos que processam webhooks.
  • Um time cria uma configuração base de ambiente com &base e, usando <<: *base, monta as variantes de homologação e de produção alterando apenas a URL do endpoint e a chave de API.

Perguntas frequentes

Alias e âncora são a mesma coisa?

Não. A âncora, marcada com &, nomeia o bloco original. O alias, marcado com *, é a referência que reaproveita esse bloco em outro ponto. Um funciona em conjunto com o outro.

Posso usar alias para referenciar outro arquivo YAML?

Não. Âncoras e aliases funcionam apenas dentro do mesmo documento YAML. Para reaproveitar conteúdo entre arquivos, é preciso usar recursos da ferramenta específica, como referências do OpenAPI.

Se eu alterar o valor no alias, a âncora muda também?

Não é possível alterar o conteúdo pelo alias diretamente. Para mudar só alguns campos em um ponto específico, usa-se a chave de mesclagem << e sobrescrevem-se os campos desejados, quando a ferramenta oferece suporte.

A API fiscal entende YAML com aliases?

Normalmente APIs fiscais recebem JSON. O YAML com aliases costuma ser usado em configurações e documentação; se for convertido para JSON antes do envio, os aliases são expandidos e a API recebe os dados completos.

Atualizado em · Como produzimos este glossário