Deklarace prostředku v Bicep

Tento článek popisuje syntaxi, kterou použijete k přidání prostředku do souboru Bicep. V souboru Bicep jste omezeni na 800 prostředků. Další informace najdete v tématu Limity šablon.

Deklarace

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 použijete k odkazování na prostředek v jiných částech souboru Bicep.

resource <symbolic-name> '<full-type-name>@<api-version>' = {
  <resource-properties>
}

Deklarace účtu úložiště proto může začínat takto:

resource stg 'Microsoft.Storage/storageAccounts@2021-04-01' = {
  ...
}

V symbolických názvech se rozlišují velká a malá písmena. Mohou 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 a verze prostředků najdete v referenčních informacích k prostředkům Bicep. Bicep nepodporuje apiProfile, který je k dispozici ve formátu JSON pro šablony Azure Resource Manager (šablony ARM). Můžete také definovat prostředky zprostředkovatele rozšiřitelnosti Bicep. Další informace najdete v tématu Poskytovatel rozšiřitelnosti Bicep Kubernetes.

K podmíněnému nasazení prostředku použijte syntaxi if . 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 instancí prostředku, použijte syntaxi for . Dekorátor můžete použít batchSize k určení, jestli se instance nasadí sériově nebo paralelně. Další informace najdete v tématu Iterativní smyčky v nástroji Bicep.

@batchSize(int) // optional decorator for serial deployment
resource <symbolic-name> '<full-type-name>@<api-version>' = [for <item> in <collection>: {
  <properties-to-repeat>
}]

K vytvoření pole můžete také použít for syntaxi vlastností prostředku.

resource <symbolic-name> '<full-type-name>@<api-version>' = {
  properties: {
    <array-property>: [for <item> in <collection>: <value-to-repeat>]
  }
}

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 pro názvy prostředků.

resource stg 'Microsoft.Storage/storageAccounts@2019-06-01' = {
  name: 'examplestorage'
  ...
}

Obvykle byste název nastavili na parametr, abyste během nasazení mohli předávat různé hodnoty.

@minLength(3)
@maxLength(24)
param storageAccountName string

resource stg 'Microsoft.Storage/storageAccounts@2019-06-01' = {
  name: storageAccountName
  ...
}

Umístění

Mnoho prostředků vyžaduje umístění. K určení, jestli prostředek potřebuje umístění, můžete použít IntelliSense nebo odkaz 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@2019-06-01' = {
  name: 'examplestorage'
  location: 'eastus'
  ...
}

Obvykle byste umístění nastavili na parametr , abyste je mohli nasadit do různých umístění.

param location string = resourceGroup().location

resource stg 'Microsoft.Storage/storageAccounts@2019-06-01' = {
  name: 'examplestorage'
  location: location
  ...
}

Různé typy prostředků se podporují v různých umístěních. Informace o podporovaných umístěních pro službu Azure najdete v tématu Dostupné produkty podle oblastí. Pokud chcete získat podporovaná umístění pro určitý typ prostředku, použijte Azure PowerShell nebo Azure CLI.

((Get-AzResourceProvider -ProviderNamespace Microsoft.Batch).ResourceTypes `
  | Where-Object ResourceTypeName -eq batchAccounts).Locations

Značky

Během nasazování můžete na prostředek použít značky. Značky pomáhají logicky uspořádat nasazené prostředky. Příklady různých způsobů, jak můžete zadat značky, najdete v tématu Značky šablon ARM.

Spravované identity pro prostředky Azure

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@2020-09-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@2020-06-01' = {
  name: vmName
  location: location
  identity: {
    type: 'UserAssigned'
    userAssignedIdentities: {
      '${userAssignedIdentity}': {}
    }
  }

Vlastnosti specifické pro prostředek

Předchozí vlastnosti jsou obecné pro většinu typů prostředků. Po nastavení těchto hodnot musíte nastavit vlastnosti, které jsou specifické pro typ prostředku, který nasazujete.

Pomocí intellisense nebo odkazu na prostředek Bicep určete, které vlastnosti jsou k dispozici a které se vyžadují. Následující příklad nastaví zbývající vlastnosti účtu úložiště.

resource stg 'Microsoft.Storage/storageAccounts@2019-06-01' = {
  name: 'examplestorage'
  location: 'eastus'
  sku: {
    name: 'Standard_LRS'
    tier: 'Standard'
  }
  kind: 'StorageV2'
  properties: {
    accessTier: 'Hot'
  }
}

Další kroky