Criar grupos de recursos utilizando o Bicep
Você pode utilizar o Bicep para criar um novo grupo de recursos. Este artigo mostra como você deve criar grupos de recursos quando estiver implantando na assinatura ou em outro grupo de recursos.
Definir o grupo de recursos
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 de destino é 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, utilize os comandos de implantação no nível de assinatura.
Para 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 que você criar. Você pode implantar 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 propriedade scope
do módulo é 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 o 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 um 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. Nesse cenário, você deve implantar em um grupo de recursos existente e alternar para o nível de uma assinatura para criar um grupo de recursos. O arquivo Bicep a seguir cria um novo grupo de recursos na assinatura especificada. O módulo que cria o grupo de recursos é o mesmo do 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óximas etapas
Para saber mais sobre outros escopos, consulte: