Criar grupos de recursos usando o Bicep
Você pode usar o Bicep para criar um novo grupo de recursos. Este artigo mostra como criar grupos de recursos ao implantar na assinatura ou em outro grupo de recursos.
Definir resource group
Para criar um grupo de recursos com o Bicep, defina um recurso Microsoft.Resources/resourceGroups com um nome e um local para o grupo de recursos.
O exemplo a seguir mostra um arquivo Bicep que cria um grupo de recursos vazio. Observe que seu escopo alvo é subscription
.
targetScope='subscription'
param resourceGroupName string
param resourceGroupLocation string
resource newRG 'Microsoft.Resources/resourceGroups@2024-03-01' = {
name: resourceGroupName
location: resourceGroupLocation
}
Para implantar o arquivo Bicep em uma assinatura, use os comandos de implantação no nível de assinatura.
Para a CLI do Azure, use az deployment sub create.
az deployment sub create \
--name demoSubDeployment \
--location centralus \
--template-file resourceGroup.bicep \
--parameters resourceGroupName=demoResourceGroup resourceGroupLocation=centralus
Para o comando de implantação do PowerShell, use New-AzDeployment ou seu alias New-AzSubscriptionDeployment
.
New-AzSubscriptionDeployment `
-Name demoSubDeployment `
-Location centralus `
-TemplateFile resourceGroup.bicep `
-resourceGroupName demoResourceGroup `
-resourceGroupLocation centralus
Criar grupo de recursos e recursos
Para criar o grupo de recursos e implantar recursos nele, adicione um módulo que defina os recursos a serem implantados no grupo de recursos. Defina o escopo do módulo como o nome simbólico do grupo de recursos criado. Você pode implantar em até 800 grupos de recursos.
O exemplo a seguir mostra um arquivo Bicep que cria um grupo de recursos e implanta uma conta de armazenamento no grupo de recursos. Observe que a scope
propriedade do módulo está definida como newRG
, que é o nome simbólico para o grupo de recursos que está sendo criado.
targetScope='subscription'
param resourceGroupName string
param resourceGroupLocation string
param storageName string
param storageLocation string
resource newRG 'Microsoft.Resources/resourceGroups@2024-03-01' = {
name: resourceGroupName
location: resourceGroupLocation
}
module storageAcct 'storage.bicep' = {
name: 'storageModule'
scope: newRG
params: {
storageLocation: storageLocation
storageName: storageName
}
}
O módulo usa um arquivo Bicep chamado storage.bicep com o seguinte conteúdo:
param storageLocation string
param storageName string
resource storageAcct 'Microsoft.Storage/storageAccounts@2023-04-01' = {
name: storageName
location: storageLocation
sku: {
name: 'Standard_LRS'
}
kind: 'Storage'
properties: {}
}
Criar grupo de recursos durante a implantação do grupo de recursos
Você também pode criar um grupo de recursos durante uma implantação no nível do grupo de recursos. Para esse cenário, você implanta em um grupo de recursos existente e alterna para o nível de uma assinatura para criar um grupo de recursos. O seguinte arquivo Bicep cria um novo grupo de recursos na assinatura especificada. O módulo que cria o grupo de recursos é o mesmo que o exemplo que cria o grupo de recursos.
param secondResourceGroup string
param secondSubscriptionID string = ''
param secondLocation string
// module deployed at subscription level
module newRG 'resourceGroup.bicep' = {
name: 'newResourceGroup'
scope: subscription(secondSubscriptionID)
params: {
resourceGroupName: secondResourceGroup
resourceGroupLocation: secondLocation
}
}
Para implantar em um grupo de recursos, use os comandos de implantação do grupo de recursos.
Para a CLI do Azure, use az deployment group create.
az deployment group create \
--name demoRGDeployment \
--resource-group ExampleGroup \
--template-file main.bicep \
--parameters secondResourceGroup=newRG secondSubscriptionID={sub-id} secondLocation=westus
Para o comando de implantação do PowerShell, use New-AzResourceGroupDeployment.
New-AzResourceGroupDeployment `
-Name demoRGDeployment `
-ResourceGroupName ExampleGroup `
-TemplateFile main.bicep `
-secondResourceGroup newRG `
-secondSubscriptionID {sub-id} `
-secondLocation westus
Próximos passos
Para saber mais sobre outros escopos, consulte: