Melhores práticas para Bicep

Este artigo recomenda práticas a seguir ao desenvolver os seus ficheiros Bicep. Estas práticas tornam o seu ficheiro Bicep mais fácil de entender e usar.

Parâmetros

  • Use um bom nome para declarações de parâmetros. Bons nomes tornam os seus modelos fáceis de ler e entender. Certifique-se de que está a usar nomes claros e descritivos, e seja consistente no seu nome.

  • Pense cuidadosamente sobre os parâmetros que o seu modelo usa. Tente utilizar parâmetros para configurações que mudam entre implementações. Variáveis e valores codificados podem ser usados para configurações que não mudam entre implementações.

  • Esteja atento aos valores predefinidos que utiliza. Certifique-se de que os valores predefinidos são seguros para qualquer pessoa ser implantada. Por exemplo, considere usar níveis de preços de baixo custo e SKUs para que alguém que implemente o modelo para um ambiente de teste não incorre num grande custo desnecessariamente.

  • Use o @allowed decorador com moderação. Se utilizar este decorador de forma demasiado ampla, poderá bloquear implementações válidas. À medida que os serviços da Azure adicionam SKUs e tamanhos, a sua lista permitida pode não estar atualizada. Por exemplo, permitir apenas SKUs Premium v3 pode fazer sentido na produção, mas impede-o de usar o mesmo modelo em ambientes não produtivos.

  • É uma boa prática fornecer descrições para os seus parâmetros. Tente tornar as descrições úteis e forneça qualquer informação importante sobre o que o modelo precisa que os valores dos parâmetros sejam.

    Também pode utilizar // comentários para obter algumas informações.

  • Pode colocar declarações de parâmetros em qualquer lugar do ficheiro do modelo, embora seja geralmente uma boa ideia colocá-las no topo do ficheiro para que o seu código Bicep seja fácil de ler.

  • É uma boa prática especificar o comprimento mínimo e máximo do caráter para os parâmetros que controlam o nome. Estas limitações ajudam a evitar erros mais tarde durante a implementação.

Para obter mais informações sobre os parâmetros Bicep, consulte Parâmetros em Bicep.

Variáveis

  • Use a caixa de camelo para nomes variáveis, tais como myVariableName .

  • Quando se define uma variável, o tipo de dados não é necessário. Variáveis inferem o tipo a partir do valor de resolução.

  • Pode utilizar funções Bicep para criar uma variável.

  • Depois de uma variável ser definida no seu ficheiro Bicep, refere o valor usando o nome da variável.

Para obter mais informações sobre variáveis Bicep, consulte Variáveis em Bicep.

Atribuição de nomes

  • A função UniqueString() é útil para criar nomes de recursos globalmente únicos. Quando fornece os mesmos parâmetros, retorna sempre a mesma corda. Passar no ID do grupo de recursos significa que a cadeia é a mesma em cada implementação para o mesmo grupo de recursos, mas diferente quando se implanta em diferentes grupos de recursos ou subscrições.

  • Às uniqueString() vezes, a função cria cordas que começam com um número. Alguns recursos da Azure, como contas de armazenamento, não permitem que os seus nomes comecem com números. Este requisito significa que é uma boa ideia usar a interpolação de cordas para criar nomes de recursos. Pode adicionar um prefixo à corda única.

  • É muitas vezes uma boa ideia usar expressões de modelo para criar nomes de recursos. Muitos tipos de recursos Azure têm regras sobre os caracteres permitidos e duração dos seus nomes. Incorporar a criação de nomes de recursos no modelo significa que quem usa o modelo não tem de se lembrar de seguir estas regras por si mesmo.

Definições de recursos

  • Em vez de incorporar expressões complexas diretamente em propriedades de recursos, use variáveis para conter as expressões. Esta abordagem torna o seu ficheiro Bicep mais fácil de ler e entender. Evita desordenar as definições de recursos com lógica.

  • Tente usar as propriedades de recursos como saídas, em vez de fazer suposições sobre como os recursos se comportarão. Por exemplo, se precisar de fazer a saída do URL para uma aplicação do Serviço de Aplicações, utilize a propriedade padrão De nome de Nome da app em vez de criar uma cadeia para o próprio URL. Às vezes, estes pressupostos não são corretos em diferentes ambientes, ou os recursos mudam a forma como funcionam. É mais seguro ter o recurso a dizer-lhe as suas próprias propriedades.

  • É uma boa ideia usar uma versão API recente para cada recurso. As novas funcionalidades nos serviços Azure estão por vezes disponíveis apenas em versões API mais recentes.

  • Quando possível, evite utilizar as funções de referência e recursosId no seu ficheiro Bicep. Pode aceder a qualquer recurso em Bicep utilizando o nome simbólico. Por exemplo, se definir uma conta de armazenamento com o nome simbólico Para BrinquedoDesignDocumentsStorageAccount, pode aceder ao seu ID de recursos utilizando a expressão toyDesignDocumentsStorageAccount.id . Ao usar o nome simbólico, cria-se uma dependência implícita entre os recursos.

  • Se o recurso não for implantado no ficheiro Bicep, ainda pode obter uma referência simbólica ao recurso utilizando a existing palavra-chave.

Recursos infantis

  • Evite nidificar demasiadas camadas profundas. Demasiado nidificação torna o seu código Bicep mais difícil de ler e trabalhar.

  • É melhor evitar construir nomes de recursos para recursos infantis. Perde-se os benefícios que a Bicep proporciona quando compreende as relações entre os seus recursos. Use a parent propriedade ou nidificação em vez disso.

Saídas

  • Certifique-se de que não cria saídas para dados sensíveis. Os valores de saída podem ser acedidos por qualquer pessoa que tenha acesso ao histórico de implementação. Não são apropriados para lidar com segredos.

  • Em vez de passar valores de propriedade em torno de saídas, use a existing palavra-chave para procurar propriedades de recursos que já existem. É uma boa prática procurar chaves de outros recursos desta forma, em vez de passá-las através de saídas. Terá sempre os dados mais atualizados.

Para obter mais informações sobre as saídas bicep, consulte outputs em Bicep.

Âmbitos de arrendamento

Não se pode criar políticas ou atribuições de papéis no âmbito do inquilino. No entanto, se precisar de conceder acesso ou aplicar políticas em toda a sua organização, pode implantar esses recursos para o grupo de gestão de raiz.

Passos seguintes