Osvědčené postupy pro bicep

Tento článek doporučuje postupovat při vývoji souborů bicep. Tyto postupy usnadňují pochopení a používání souboru bicep.

Microsoft Learn

Další informace o osvědčených postupech bicep a o praktických pokynech najdete v tématu struktura kódu bicep pro spolupráci na Microsoft Learn.

Parametry

  • Používejte dobré pojmenování pro deklarace parametrů. Dobrá jména usnadňují čtení a pochopení šablon. Ujistěte se, že používáte jasné, popisné názvy a že jsou v pojmenování konzistentní.

  • Pečlivě si promyslete parametry, které šablona používá. Zkuste použít parametry pro nastavení, která se mění mezi nasazeními. Proměnné a pevně zakódované hodnoty lze použít pro nastavení, která se nemění mezi nasazeními.

  • Nezapomeňte na výchozí hodnoty, které používáte. Ujistěte se, že výchozí hodnoty jsou bezpečné pro všechny uživatele k nasazení. Můžete například zvážit použití cenových úrovní a SKU s nízkými náklady, aby někdo, který šablonu nasazuje do testovacího prostředí, nemusel zbytečně znamenat značnou cenu.

  • Používejte @allowed dekoratérně. Pokud tento dekoratér používáte moc často, můžete zablokovat platná nasazení. Jak služby Azure přidávají skladové jednotky a velikosti, váš povolený seznam nemusí být aktuální. například povolení pouze sku Premium v3 může mít smysl v produkčním prostředí, ale zabrání v použití stejné šablony v neprodukčních prostředích.

  • Je dobrým zvykem zadat popisy vašich parametrů. Zkuste, aby popisy byly užitečné a poskytovaly důležité informace o tom, co šablona potřebuje hodnoty parametrů.

    //Pro některé informace můžete také použít komentáře.

  • Deklarace parametrů můžete umístit kdekoli v souboru šablony, i když je obvykle vhodné je umístit na začátek souboru, aby se váš kód bicep snadno četl.

  • Je dobrým zvykem zadat minimální a maximální délku znaků pro parametry, které řídí pojmenování. Tato omezení zabraňují chybám později během nasazování.

Další informace o parametrech bicep naleznete v tématu Parameters in bicep.

Proměnné

  • Při definování proměnné není datový typ potřebný. Proměnné odvozují typ z hodnoty Resolve.

  • Pomocí funkce bicep můžete vytvořit proměnnou.

  • Po definování proměnné v souboru bicep odkazujete na hodnotu pomocí názvu proměnné.

Další informace o proměnných bicep naleznete v tématu Variables in bicep.

Názvy

  • Pro názvy, jako je například nebo, použijte malý ve stylu CamelCase případ myVariableName myResource .

  • Funkce uniqueString () je užitečná pro vytváření globálně jedinečných názvů prostředků. Když zadáte stejné parametry, vrátí se vždy stejný řetězec. Předáním do ID skupiny prostředků znamená, že řetězec bude stejný při každém nasazení ke stejné skupině prostředků, ale při nasazení do různých skupin prostředků nebo odběrů se liší.

  • Někdy uniqueString() funkce vytvoří řetězce, které začínají číslem. Některé prostředky Azure, jako jsou účty úložiště, neumožňují, aby jejich názvy začínaly čísly. Tento požadavek znamená, že je vhodné použít interpolaci řetězců k vytvoření názvů prostředků. Do jedinečného řetězce můžete přidat předponu.

  • Pro vytváření názvů prostředků je často vhodné použít výrazy šablony. Mnoho typů prostředků Azure má pravidla týkající se povolených znaků a délky jejich názvů. Vložením názvů prostředků do šablony se znamená, že kdokoli, kdo používá tuto šablonu, nemusíte pamatovat, aby tato pravidla následovala sami.

  • Nepoužívejte name v symbolickém názvu. Symbolický název představuje prostředek, nikoli název prostředku. Například místo toho:

    resource cosmosDBAccountName 'Microsoft.DocumentDB/databaseAccounts@2021-04-15' = {
    

    Použijte toto:

    resource cosmosDBAccount 'Microsoft.DocumentDB/databaseAccounts@2021-04-15' = {
    
  • Vyhněte se rozlišení proměnných a parametrů pomocí přípon.

Definice prostředků

  • Namísto vkládání složitých výrazů přímo do vlastností prostředku použijte proměnné k zahrnutí výrazů. Tento přístup usnadňuje čtení a pochopení souboru bicep. Zabraňuje tomu, aby vaše definice prostředků byly v logice.

  • Zkuste použít vlastnosti prostředku jako výstupy, ale nemusíte vytvářet předpoklady týkající se toho, jak se budou prostředky chovat. Pokud třeba chcete vytvořit výstup adresy URL pro aplikaci App Service, použijte vlastnost defaultHostname aplikace namísto vytvoření řetězce pro adresu URL sami. Někdy tyto předpoklady nejsou v různých prostředích správné nebo se prostředky mění způsobem, jakým fungují. Je bezpečnější, aby vám prostředek informoval o svých vlastnostech.

  • Pro každý prostředek je vhodné použít nejnovější verzi rozhraní API. Nové funkce služby Azure jsou někdy dostupné jenom v novějších verzích rozhraní API.

  • Pokud je to možné, vyhněte se použití reference a funkcí ResourceID v souboru bicep. K jakémukoli prostředku v bicep můžete přistupovat pomocí symbolického názvu. Například pokud definujete účet úložiště se symbolem symbolického názvu toyDesignDocumentsStorageAccount, získáte přístup k jeho ID prostředku pomocí výrazu toyDesignDocumentsStorageAccount.id . Pomocí symbolického názvu vytvoříte implicitní závislost mezi prostředky.

  • Raději používejte implicitní závislosti v explicitních závislostech. I když dependsOn vlastnost prostředků umožňuje deklarovat explicitní závislost mezi prostředky, je obvykle možné použít vlastnosti jiného prostředku pomocí jejího symbolického názvu. Tím se vytvoří implicitní závislost mezi těmito dvěma prostředky a bicep umožňuje spravovat samotný vztah.

  • Pokud prostředek není nasazen v souboru bicep, můžete i nadále získat symbolický odkaz na prostředek pomocí existing klíčového slova.

Podřízené prostředky

  • Vyhněte se vnořování příliš mnoha vrstev hluboko. Příliš mnoho vnořování usnadňuje čtení kódu bicep a práci s nimi.

  • Vyhněte se vytváření názvů prostředků pro podřízené prostředky. Ztratíte výhody, které bicep poskytuje, když rozumí vztah mezi prostředky. parentMísto toho použijte vlastnost nebo vnořování.

Výstupy

  • Ujistěte se, že nevytváříte výstupy pro citlivá data. K výstupním hodnotám může přistupovat kdokoli, kdo má přístup k historii nasazení. Nejsou vhodné pro zpracování tajných kódů.

  • Místo předání hodnot vlastností kolem výstupů použijte existující klíčové slovo pro vyhledání vlastností prostředků, které již existují. Osvědčeným postupem je vyhledávání klíčů od jiných prostředků tímto způsobem namísto jejich předání prostřednictvím výstupů. Vždycky budete mít nejaktuálnější data.

Další informace o výstupech bicep najdete v tématu výstupy v bicep.

Obory tenanta

V oboru tenantanemůžete vytvářet zásady nebo přiřazení rolí. Pokud ale potřebujete udělit přístup nebo uplatnit zásady napříč celou organizací, můžete tyto prostředky nasadit do kořenové skupiny pro správu.

Další kroky