Deklarace prostředku v Bicep
Tento článek popisuje syntaxi, kterou používáte k přidání prostředku do souboru Bicep. V souboru Bicep jste omezeni na 800 prostředků. Další informace najdete v tématu Omezení šablon.
Definování prostředků
Přidejte deklaraci prostředku pomocí klíčového resource
slova. Nastavíte symbolický název prostředku. Symbolický název není stejný jako název prostředku. Symbolický název slouží k odkazování na prostředek v jiných částech souboru Bicep.
@<decorator>(<argument>)
resource <symbolic-name> '<full-type-name>@<api-version>' = {
<resource-properties>
}
Deklarace účtu úložiště tedy může začínat na:
resource stg 'Microsoft.Storage/storageAccounts@2023-04-01' = {
...
}
V symbolických názvech se rozlišují malá a velká písmena. Můžou obsahovat písmena, číslice a podtržítka (_
). Nemůžou začínat číslem. Prostředek nemůže mít stejný název jako parametr, proměnná nebo modul.
Dostupné typy prostředků a verze najdete v referenčních informacích k prostředkům Bicep. Bicep nepodporuje apiProfile
, což je k dispozici ve formátu JSON šablon Azure Resource Manageru (šablony ARM). Můžete také definovat prostředky zprostředkovatele rozšiřitelnosti Bicep. Další informace najdete v tématu o rozšiřitelnosti poskytovatele Kubernetes Bicep.
K podmíněnému nasazení prostředku použijte if
syntaxi. Další informace najdete v tématu Podmíněné nasazení v Bicep.
resource <symbolic-name> '<full-type-name>@<api-version>' = if (condition) {
<resource-properties>
}
Pokud chcete nasadit více než jednu instanci prostředku, použijte for
syntaxi. Dekorátor můžete použít batchSize
k určení, zda jsou instance nasazeny sériově nebo paralelně. Další informace naleznete v tématu Iterativní smyčky v Bicep.
@batchSize(int) // optional decorator for serial deployment
resource <symbolic-name> '<full-type-name>@<api-version>' = [for <item> in <collection>: {
<properties-to-repeat>
}]
Syntaxi vlastností prostředku můžete také použít for
k vytvoření pole.
resource <symbolic-name> '<full-type-name>@<api-version>' = {
properties: {
<array-property>: [for <item> in <collection>: <value-to-repeat>]
}
}
Použití dekorátorů
Dekorátory jsou zapsány ve formátu @expression
a jsou umístěny nad deklaracemi prostředků. V následující tabulce jsou uvedeny dostupné dekorátory prostředků.
Dekoratér | Argument | Popis |
---|---|---|
batchSize | Žádná | Nastavte instance pro postupné nasazení. |
popis | string | Zadejte popis prostředku. |
Dekorátory jsou v oboru názvů sys. Pokud potřebujete odlišit dekorátor od jiné položky se stejným názvem, předkožte dekorátorem .sys
Pokud například váš soubor Bicep obsahuje parametr s názvem description
, musíte přidat obor názvů sys při použití dekorátoru popisu .
BatchSize
Můžete použít @batchSize()
pouze pro definici prostředku nebo modulu, která používá for
výraz.
Ve výchozím nastavení se prostředky nasazují paralelně. Když přidáte batchSize(int)
dekorátor, nasadíte instance serialně.
@batchSize(3)
resource storageAccountResources 'Microsoft.Storage/storageAccounts@2023-04-01' = [for storageName in storageAccounts: {
...
}]
Další informace najdete v tématu Nasazení v dávkách.
Popis
Pokud chcete přidat vysvětlení, přidejte popis k deklaracím prostředků. Příklad:
@description('Create a number of storage accounts')
resource storageAccountResources 'Microsoft.Storage/storageAccounts@2023-04-01' = [for storageName in storageAccounts: {
...
}]
Text ve formátu Markdown lze použít pro text popisu.
Název prostředku
Každý prostředek má název. Při nastavování názvu prostředku věnujte pozornost pravidlům a omezením názvů prostředků.
resource stg 'Microsoft.Storage/storageAccounts@2023-04-01' = {
name: 'examplestorage'
...
}
Obvykle byste název nastavili na parametr, abyste mohli během nasazování předávat různé hodnoty.
@minLength(3)
@maxLength(24)
param storageAccountName string
resource stg 'Microsoft.Storage/storageAccounts@2023-04-01' = {
name: storageAccountName
...
}
Umístění prostředku
Mnoho prostředků vyžaduje umístění. Můžete určit, jestli prostředek potřebuje umístění buď prostřednictvím technologie IntelliSense, nebo odkazu na šablonu. Následující příklad přidá parametr umístění, který se používá pro účet úložiště.
resource stg 'Microsoft.Storage/storageAccounts@2023-04-01' = {
name: 'examplestorage'
location: 'eastus'
...
}
Umístění byste obvykle nastavili na parametr, abyste je mohli nasadit do různých umístění.
param location string = resourceGroup().location
resource stg 'Microsoft.Storage/storageAccounts@2023-04-01' = {
name: 'examplestorage'
location: location
...
}
Různé typy prostředků jsou podporovány v různých umístěních. Pokud chcete získat podporovaná umístění pro službu Azure, přečtěte si informace o produktech dostupných v jednotlivých oblastech. Pokud chcete získat podporovaná umístění pro typ prostředku, použijte Azure PowerShell nebo Azure CLI.
((Get-AzResourceProvider -ProviderNamespace Microsoft.Batch).ResourceTypes `
| Where-Object ResourceTypeName -eq batchAccounts).Locations
Značky prostředků
Značky můžete použít u prostředku během nasazení. Značky pomáhají logicky uspořádat nasazené prostředky. Příklady různých způsobů, jak můžete určit značky, najdete v tématu Značky šablony ARM.
Spravované identity pro prostředky
Některé prostředky podporují spravované identity pro prostředky Azure. Tyto prostředky mají objekt identity na kořenové úrovni deklarace prostředku.
Můžete použít identity přiřazené systémem nebo uživatelem.
Následující příklad ukazuje, jak nakonfigurovat identitu přiřazenou systémem pro cluster Azure Kubernetes Service.
resource aks 'Microsoft.ContainerService/managedClusters@2024-02-01' = {
name: clusterName
location: location
tags: tags
identity: {
type: 'SystemAssigned'
}
Následující příklad ukazuje, jak nakonfigurovat identitu přiřazenou uživatelem pro virtuální počítač.
param userAssignedIdentity string
resource vm 'Microsoft.Compute/virtualMachines@2024-03-01' = {
name: vmName
location: location
identity: {
type: 'UserAssigned'
userAssignedIdentities: {
'${userAssignedIdentity}': {}
}
}
Vlastnosti specifické pro prostředky
Předchozí vlastnosti jsou obecné pro většinu typů prostředků. Po nastavení těchto hodnot musíte nastavit vlastnosti specifické pro typ prostředku, který nasazujete.
K určení dostupných vlastností a požadovaných vlastností použijte odkaz na prostředky IntelliSense nebo Bicep. Následující příklad nastaví zbývající vlastnosti účtu úložiště.
resource stg 'Microsoft.Storage/storageAccounts@2023-04-01' = {
name: 'examplestorage'
location: 'eastus'
sku: {
name: 'Standard_LRS'
tier: 'Standard'
}
kind: 'StorageV2'
properties: {
accessTier: 'Hot'
}
}
Další kroky
- Pokud chcete podmíněně nasadit prostředek, přečtěte si téma Podmíněné nasazení v Bicep.
- Pokud chcete odkazovat na existující prostředek, podívejte se na existující prostředky v Bicep.
- Další informace o určení pořadí nasazení najdete v tématu Závislosti prostředků v Bicep.