Falhas de resolução de referência variável

Uma biblioteca de variáveis permite-lhe fornecer um valor que difere consoante o ambiente, em vez de codificar um valor correto apenas num espaço de trabalho. Sempre que o Fabric aceita uma referência de variável, resolve essa referência para um valor antes de o utilizar.

Quando o Fabric não consegue resolver uma referência, não substitui um valor. Em vez disso, reporta um estado de resolução que indica qual parte da referência falhou. Este artigo explica cada estado e o que fazer em relação a ele.

Como uma referência é resolvida

A resolução de uma referência acontece em etapas, e uma falha em qualquer fase impede o resto. A Fabric faz o seguinte:

  1. Lê a referência e verifica se está bem formada.
  2. Localiza a biblioteca de variáveis pelos nomes de referência e confirma que a consegue ler.
  3. Encontra o conjunto de valores ativos da biblioteca.
  4. Encontra a variável dentro desse conjunto de valores.
  5. Verifica se o tipo de valor da variável corresponde ao tipo que a referência pede.
  6. Se o valor aponta para outro item ou ligação, resolve esses detalhes também.

O estado que vês indica-te qual dessas fases falhou, o que normalmente é suficiente para identificar a correção sem inspecionar toda a cadeia.

Erros de resolução de referência

Estes erros significam que a própria referência, a biblioteca de variáveis ou a variável não puderam ser resolvidas.

Mensagem O que significa Como corrigir
O formato de referência é inválido A referência não está formatada corretamente. Corrigir a sintaxe de referência.
Falta a referência da biblioteca de variáveis A referência não nomeia uma biblioteca de variáveis. Forneça uma referência completa que inclua a biblioteca.
A referência da biblioteca de variáveis é ambígua Mais do que uma biblioteca de variáveis corresponde à referência. Torna a referência mais específica para que corresponda a uma biblioteca.
A especificação do tipo não é permitida A referência especifica um tipo em linha, e esta referência não o suporta. Remova a especificação de tipo em linha.
Biblioteca de variáveis não encontrada A biblioteca não existe, ou não tens permissão para a ler. Verifique a referência e verifique o seu acesso à biblioteca.
A biblioteca de variáveis está corrompida A biblioteca não pode ser lida. Este não é autoatendimento. Contacte o suporte se isto continuar.
Conjunto de valores ativos não encontrado O conjunto de valores ativos configurado da biblioteca não existe. Defina um conjunto de valores ativos que exista na biblioteca.
A definição de variável é inválida Uma ou mais definições de variáveis na biblioteca são inválidas. Corrigir as definições de variáveis na biblioteca.
A substituição da variável é inválida Um ou mais valores de substituição são inválidos. Corrigir os valores de sobreposição.
Variável não encontrada A biblioteca foi encontrada, mas não tem uma variável com esse nome. Verifica o nome da variável. Uma variável renomeada é uma causa comum.
Incompatibilidade de tipos de variável O tipo de valor da variável não é o tipo que a referência pede. Altera o tipo solicitado ou o valor da variável.

Se vires apresentada uma mensagem genérica Não foi possível resolver a referência em vez de uma dessas mensagens, não foi possível atribuir a falha a uma fase específica. Tente novamente e, se o problema persistir, considere isso um erro do serviço e não um problema com a referência.

Erros nos itens referenciados

Estes erros significam que a referência foi resolvida para um valor, mas o item ou ligação para onde o valor aponta não pôde ser resolvido. A referência está correta, por isso fixa o alvo em vez da referência.

Mensagem O que significa Como corrigir
Item referenciado não encontrado O item para o qual o valor aponta não existe. Confirme que o item ainda existe e se o valor aponta para o item correto.
Acesso ao item referido negado O item existe, mas não tens permissão de leitura para ele. Solicite acesso de leitura ao item.
Ligação referenciada não encontrada ou acesso negado A ligação não existe, ou não consegues lê-la. Verifica a ligação e o teu acesso a ela.
Ocorreu algum problema O item referido não pôde ser resolvido, e a causa não é específica. Tente novamente. Se persistir, considere-o um erro do serviço.

Considerações

Alguns destes pontos valem a pena conhecer antes de os atacar:

  • Falhas de permissões e objetos em falta são comunicados do mesmo modo em alguns casos. "Biblioteca de variáveis não encontrada" e "Ligação referenciada não encontrada ou acesso negado" cobrem ambos o facto de o objeto não existir e tu não conseguires vê-lo, porque o Fabric não confirma a existência de algo que não consegues ler. Verifique o seu acesso antes de concluir que o objeto desapareceu.
  • Uma referência que se resolva para ti pode não se resolver para outra pessoa. A resolução depende das permissões de quem a aciona, pelo que uma referência que funciona na fase de autoria pode falhar mais tarde quando uma identidade diferente executa o mesmo trabalho.
  • Renomear uma variável quebra as referências a ela. As referências são por nome, pelo que uma renomeação surge como Variável não encontrada em vez de como um aviso no momento da renomeação.