Nasazení skupin prostředků se soubory Bicep
Tento článek popisuje, jak nastavit obor pomocí Bicep při nasazení do skupiny prostředků.
Podporované prostředky
Většinu prostředků je možné nasadit do skupiny prostředků. Seznam dostupných prostředků najdete v referenčních informacích k šabloně ARM.
Nastavit obor
Ve výchozím nastavení je soubor Bicep vymezený na skupinu prostředků. Pokud chcete explicitně nastavit obor, použijte:
targetScope = 'resourceGroup'
Nastavení cílového rozsahu na skupinu prostředků ale není nutné, protože tento obor se používá ve výchozím nastavení.
Příkazy nasazení
K nasazení do skupiny prostředků použijte příkazy pro nasazení skupiny prostředků.
Pro Azure CLI použijte příkaz az deployment group create. Následující příklad nasadí šablonu pro vytvoření skupiny prostředků. Skupina prostředků, kterou zadáte v parametru --resource-group
, je cílovou skupinou prostředků.
az deployment group create \
--name demoRGDeployment \
--resource-group ExampleGroup \
--template-file main.bicep \
--parameters storageAccountType=Standard_GRS
Podrobnější informace o příkazech nasazení a možnostech nasazení šablon ARM najdete tady:
- Nasazení prostředků pomocí šablon ARM a Azure CLI
- Nasazení prostředků pomocí šablon ARM a Azure PowerShell
- Nasazení šablon ARM z Cloud Shell
Rozsahy nasazení
Při nasazování do skupiny prostředků můžete prostředky nasadit do:
- cílová skupina prostředků pro operaci nasazení
- jiné skupiny prostředků ve stejném předplatném nebo v jiných předplatných
- libovolné předplatné v tenantovi
- tenant pro skupinu prostředků
Prostředek rozšíření je možné omezit na cíl, který se liší od cíle nasazení.
Uživatel nasazující šablonu musí mít přístup k zadanému oboru.
V této části se dozvíte, jak zadat různé obory. Tyto různé obory můžete kombinovat v jedné šabloně.
Rozsah na cílovou skupinu prostředků
Pokud chcete prostředky nasadit do cílové skupiny prostředků, přidejte je do souboru Bicep.
// resource deployed to target resource group
resource exampleResource 'Microsoft.Storage/storageAccounts@2019-06-01' = {
...
}
Příklad šablony najdete v tématu Nasazení do cílové skupiny prostředků.
Obor na jinou skupinu prostředků
Pokud chcete nasadit prostředky do skupiny prostředků, která není cílovou skupinou prostředků, přidejte modul. Pomocí funkce resourceGroup nastavte scope
vlastnost pro tento modul.
Pokud je skupina prostředků v jiném předplatném, zadejte ID předplatného a název skupiny prostředků. Pokud je skupina prostředků ve stejném předplatném jako aktuální nasazení, zadejte pouze název skupiny prostředků. Pokud ve funkci resourceGroup nezadáte předplatné, použije se aktuální předplatné.
Následující příklad ukazuje modul, který cílí na skupinu prostředků v jiném předplatném.
param otherResourceGroup string
param otherSubscriptionID string
// module deployed to different subscription and resource group
module exampleModule 'module.bicep' = {
name: 'otherSubAndRG'
scope: resourceGroup(otherSubscriptionID, otherResourceGroup)
}
Další příklad ukazuje modul, který cílí na skupinu prostředků ve stejném předplatném.
param otherResourceGroup string
// module deployed to resource group in the same subscription
module exampleModule 'module.bicep' = {
name: 'otherRG'
scope: resourceGroup(otherResourceGroup)
}
Příklad šablony najdete v tématu Nasazení do více skupin prostředků.
Rozsah na předplatné
Pokud chcete nasadit prostředky do předplatného, přidejte modul. Pomocí funkce předplatného nastavte její scope
vlastnost.
Pokud chcete provést nasazení do aktuálního předplatného, použijte funkci předplatného bez parametru .
// module deployed at subscription level
module exampleModule 'module.bicep' = {
name: 'deployToSub'
scope: subscription()
}
Pokud chcete provést nasazení do jiného předplatného, zadejte toto ID předplatného jako parametr ve funkci předplatného.
param otherSubscriptionID string
// module deployed at subscription level but in a different subscription
module exampleModule 'module.bicep' = {
name: 'deployToSub'
scope: subscription(otherSubscriptionID)
}
Příklad šablony najdete v tématu Vytvoření skupiny prostředků pomocí nástroje Bicep.
Rozsah na tenanta
Pokud chcete vytvořit prostředky v tenantovi, přidejte modul. Pomocí funkce tenanta nastavte jeho scope
vlastnost.
Uživatel, který šablonu nasazuje, musí mít požadovaný přístup k nasazení v tenantovi.
Následující příklad obsahuje modul, který se nasadí do tenanta.
// module deployed at tenant level
module exampleModule 'module.bicep' = {
name: 'deployToTenant'
scope: tenant()
}
Místo použití modulu můžete u některých typů prostředků nastavit obor na tenant()
. Následující příklad nasadí skupinu pro správu v tenantovi.
param mgName string = 'mg-${uniqueString(newGuid())}'
// ManagementGroup deployed at tenant
resource managementGroup 'Microsoft.Management/managementGroups@2020-05-01' = {
scope: tenant()
name: mgName
properties: {}
}
output output string = mgName
Další informace najdete v tématu Skupina pro správu.
Nasazení do cílové skupiny prostředků
Pokud chcete prostředky nasadit v cílové skupině prostředků, definujte je v resources
části šablony. Následující šablona vytvoří účet úložiště ve skupině prostředků, která je určená v operaci nasazení.
@minLength(3)
@maxLength(11)
param storagePrefix string
@allowed([
'Standard_LRS'
'Standard_GRS'
'Standard_RAGRS'
'Standard_ZRS'
'Premium_LRS'
'Premium_ZRS'
'Standard_GZRS'
'Standard_RAGZRS'
])
param storageSKU string = 'Standard_LRS'
param location string = resourceGroup().location
var uniqueStorageName = '${storagePrefix}${uniqueString(resourceGroup().id)}'
resource stg 'Microsoft.Storage/storageAccounts@2021-04-01' = {
name: uniqueStorageName
location: location
sku: {
name: storageSKU
}
kind: 'StorageV2'
properties: {
supportsHttpsTrafficOnly: true
}
}
output storageEndpoint object = stg.properties.primaryEndpoints
Nasazení do několika skupin prostředků
V jednom souboru Bicep můžete provést nasazení do více než jedné skupiny prostředků.
Poznámka
V jednom nasazení můžete nasadit do 800 skupin prostředků . Toto omezení obvykle znamená, že můžete provést nasazení do jedné skupiny prostředků určené pro nadřazenou šablonu a až 799 skupin prostředků ve vnořených nebo propojených nasazeních. Pokud však nadřazená šablona obsahuje pouze vnořené nebo propojené šablony a sama nenasazuje žádné prostředky, můžete do vnořených nebo propojených nasazení zahrnout až 800 skupin prostředků.
Následující příklad nasadí dva účty úložiště. První účet úložiště se nasadí do skupiny prostředků zadané v operaci nasazení. Druhý účet úložiště se nasadí do skupiny prostředků zadané v parametrech secondResourceGroup
a secondSubscriptionID
:
@maxLength(11)
param storagePrefix string
param firstStorageLocation string = resourceGroup().location
param secondResourceGroup string
param secondSubscriptionID string = ''
param secondStorageLocation string
var firstStorageName = '${storagePrefix}${uniqueString(resourceGroup().id)}'
var secondStorageName = '${storagePrefix}${uniqueString(secondSubscriptionID, secondResourceGroup)}'
module firstStorageAcct 'storage.bicep' = {
name: 'storageModule1'
params: {
storageLocation: firstStorageLocation
storageName: firstStorageName
}
}
module secondStorageAcct 'storage.bicep' = {
name: 'storageModule2'
scope: resourceGroup(secondSubscriptionID, secondResourceGroup)
params: {
storageLocation: secondStorageLocation
storageName: secondStorageName
}
}
Oba moduly používají stejný soubor Bicep s názvem storage.bicep.
param storageLocation string
param storageName string
resource storageAcct 'Microsoft.Storage/storageAccounts@2019-06-01' = {
name: storageName
location: storageLocation
sku: {
name: 'Standard_LRS'
}
kind: 'Storage'
properties: {}
}
Vytvoření skupiny prostředků
Informace o vytváření skupin prostředků najdete v tématu Vytvoření skupiny prostředků pomocí nástroje Bicep.
Další kroky
Další informace o dalších oborech najdete tady: