Definování prostředků
Šablony Bicep jsou soubory, které vytváříte, které definují prostředky Azure, které se mají nasadit.
Vaše společnost toy potřebuje, abyste vytvořili opakovaně použitelnou šablonu Bicep pro uvedení produktu na trh. Šablona musí nasadit účet úložiště Azure a prostředky služby Aplikace Azure Service, které se použijí pro marketing jednotlivých nových produktů během jejího spuštění.
V této lekci se dozvíte, jak definovat prostředek v šabloně Bicep, jak fungují názvy zdrojů a jak můžete vytvářet prostředky, které spolu vzájemně souvisejí.
Poznámka:
Příkazy v této lekci jsou znázorněny pro ilustraci konceptů. Zatím nespouštět příkazy. Brzy si procvičíte, co se tady naučíte.
Definování prostředku
Hlavní věcí, kterou budete dělat se šablonami Bicep, je definování prostředků Azure. Tady je příklad toho, jak v Bicep vypadá typická definice prostředků. Tento příklad vytvoří účet úložiště s názvem toylaunchstorage
.
resource storageAccount 'Microsoft.Storage/storageAccounts@2023-05-01' = {
name: 'toylaunchstorage'
location: 'westus3'
sku: {
name: 'Standard_LRS'
}
kind: 'StorageV2'
properties: {
accessTier: 'Hot'
}
}
Pojďme se podrobněji podívat na některé klíčové části této definice prostředku:
Klíčové
resource
slovo na začátku říká Bicep, že se chystáte definovat prostředek.V dalším kroku dáte prostředku symbolický název. V příkladu je
storageAccount
symbolický název zdroje . Symbolické názvy se v rámci Bicep používají k odkazování na prostředek, ale v Azure se nikdy nezobrazí.Microsoft.Storage/storageAccounts@2022-09-01
je typ prostředku a verze rozhraní API prostředku.Microsoft.Storage/storageAccounts
informuje Bicep, že deklarujete účet úložiště Azure. Datum2022-09-01
je verze rozhraní API služby Azure Storage, které Bicep používá při vytváření prostředku.Tip
Rozšíření Bicep pro Visual Studio Code vám pomůže najít typy prostředků a verze rozhraní API pro prostředky, které vytvoříte. Pokud znáte šablony ARM, mějte na paměti, že verze rozhraní API odpovídá verzi, kterou byste tam použili.
Musíte deklarovat název prostředku, což je název, který bude účet úložiště přiřazený v Azure. Název prostředku nastavíte pomocí klíčového
name
slova.Důležité
Symbolické názvy se používají jenom v šabloně Bicep a nezobrazují se v Azure. Názvy prostředků se zobrazují v Azure.
Potom nastavíte další podrobnosti o prostředku, jako je jeho umístění, skladová položka (cenová úroveň) a druh prostředku. Existují také vlastnosti, které můžete definovat, které se pro každý typ prostředku liší. Různé verze rozhraní API můžou také představovat různé vlastnosti. V tomto příkladu nastavujeme úroveň přístupu účtu úložiště na
Hot
úroveň přístupu .
Tip
Názvy prostředků často obsahují pravidla, která musíte dodržovat, například maximální délku, povolené znaky a jedinečnost ve všech Azure. Požadavky na názvy prostředků se pro každý typ prostředku Azure liší. Než je přidáte do šablony, nezapomeňte porozumět omezením a požadavkům na pojmenování.
Co se stane, když prostředky vzájemně závisejí?
Šablona Bicep obvykle obsahuje několik prostředků. Často potřebujete prostředek, který bude záviset na jiném prostředku. Možná budete muset extrahovat některé informace z jednoho prostředku, abyste mohli definovat jiné. Pokud nasazujete webovou aplikaci, budete muset před přidáním aplikace vytvořit serverovou infrastrukturu. Tyto relace se nazývají závislosti.
Budete muset nasadit aplikaci služby App Service pro šablonu, která pomůže s spuštěním produktu toy, ale k vytvoření aplikace App Service musíte nejprve vytvořit plán služby App Service. Plán služby App Service představuje prostředky hostující server a deklaruje se jako v tomto příkladu:
resource appServicePlan 'Microsoft.Web/serverFarms@2023-12-01' = {
name: 'toy-product-launch-plan'
location: 'westus3'
sku: {
name: 'F1'
}
}
Tato definice prostředku říká Bicep, že chcete nasadit plán služby App Service s typem Microsoft.Web/serverFarms
prostředku. Zdroj plánu má název toy-product-launch-plan
a nasadí se do oblasti USA – západ 3. Používá cenovou skladovou položku F1, což je úroveň Free služby App Service.
Teď, když jste deklarovali plán služby App Service, je dalším krokem deklarace aplikace:
resource appServiceApp 'Microsoft.Web/sites@2023-12-01' = {
name: 'toy-product-launch-1'
location: 'westus3'
properties: {
serverFarmId: appServicePlan.id
httpsOnly: true
}
}
Tato šablona dává Azure pokyn k hostování aplikace v plánu, který jste vytvořili. Všimněte si, že definice plánu obsahuje symbolický název plánu služby App Service na tomto řádku: serverFarmId: appServicePlan.id
. Tento řádek znamená, že Bicep získá ID prostředku plánu služby App Service pomocí id
vlastnosti. V podstatě říkáme: ID serverové farmy této aplikace je ID plánu služby App Service definovaného dříve.
Tip
V Azure je ID prostředku jedinečným identifikátorem pro každý prostředek. ID prostředku zahrnuje ID předplatného Azure, název skupiny prostředků a název prostředku spolu s dalšími informacemi.
Deklarováním prostředku aplikace s vlastností, která odkazuje na symbolický název plánu, Azure rozumí implicitní závislosti mezi aplikací app Service a plánem. Když nasadí prostředky, Azure zajistí, že plán plně nasadí, než začne nasazovat aplikaci.