Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Este início rápido guia-o pelos passos para criar um ficheiro Bicep com o Visual Studio. Você cria uma conta de armazenamento e uma rede virtual. Também se aprende como a extensão Bicep simplifica o desenvolvimento ao fornecer segurança de tipos, validação sintática e autocompletação.
Experiências semelhantes de autoria também são suportadas no Visual Studio Code. Veja Quickstart: Criar ficheiros Bicep com Visual Studio Code.
Pré-requisitos
- Subscrição Azure. Se não tiver uma subscrição Azure, crie uma conta gratuita antes de começar.
- Visual Studio versão 17.3.0 preview 3 ou mais recente. Ver Visual Studio Preview.
- Extensão do Visual Studio Bicep. Ver Visual Studio Marketplace.
- A implementação de ficheiros Bicep requer o mais recente CLI do Azure ou o mais recente módulo Azure PowerShell.
Observação
Para que todos os diagnósticos gerados por Bicep (Erros, Avisos e Mensagens Informativas) sejam corretamente apresentados como diagnósticos nativos do MSBuild, configure BicepTreatInfoAsWarnings no seu ficheiro de projeto. Por exemplo:
<Project Sdk="Microsoft.Build.NoTargets">
<PropertyGroup>
<TargetFramework>net472</TargetFramework>
<BicepTreatInfoAsWarnings>true</BicepTreatInfoAsWarnings>
</PropertyGroup>
</Project>
Adicionar fragmento de recurso
Inicie Visual Studio e crie um novo ficheiro chamado main.bicep.
O Visual Studio, com a extensão Bicep, simplifica o desenvolvimento ao fornecer excertos pré-definidos. Neste início rápido, você adiciona um trecho que cria uma rede virtual.
Em main.bicep, digite vnet. Selecione res-vnet na lista e pressione [TAB] ou [ENTER].
Tip
Se não vires essas opções intellisense no Visual Studio, certifica-te de que instalaste a extensão Bicep conforme especificado em Pré-requisitos. Se já instalou a extensão, dê algum tempo ao serviço de linguagem Bicep para iniciar após abrir o ficheiro Bicep. Geralmente começa rapidamente, mas não terás opções intellisense até que inicie.
O seu ficheiro Bicep contém agora o seguinte código:
resource virtualNetwork 'Microsoft.Network/virtualNetworks@2025-01-01' = {
name: 'name'
location: location
properties: {
addressSpace: {
addressPrefixes: [
'10.0.0.0/16'
]
}
subnets: [
{
name: 'Subnet-1'
properties: {
addressPrefix: '10.0.0.0/24'
}
}
{
name: 'Subnet-2'
properties: {
addressPrefix: '10.0.1.0/24'
}
}
]
}
}
Este trecho contém todos os valores necessários para definir uma rede virtual. No entanto, você pode modificar esse código para atender às suas necessidades. Por exemplo, name não é um ótimo nome para a rede virtual. Altere a name propriedade para exampleVnet.
name: 'exampleVnet'
Observe que o local tem um sublinhado vermelho encaracolado. Isso indica um problema. Passe o cursor sobre a localização. A mensagem de erro é - O nome "local" não existe no contexto atual. Criaremos um parâmetro de localização na próxima seção.
Adicionar parâmetros
Agora, adicionamos dois parâmetros para o nome da conta de armazenamento e o local. Na parte superior do ficheiro, adicione:
param storageName
Quando você adiciona um espaço após storageName, observe que o intellisense oferece os tipos de dados disponíveis para o parâmetro. Selecione string.
Você tem o seguinte parâmetro:
param storageName string
Esse parâmetro funciona bem, mas as contas de armazenamento têm limites no comprimento do nome. O nome deve ter pelo menos três caracteres e não mais de 24 caracteres. Você pode especificar esses requisitos adicionando decoradores ao parâmetro.
Adicione uma linha acima do parâmetro e digite @. Você vê os decoradores disponíveis. Observe que há decoradores para minLength e maxLength.
Adicione ambos os decoradores e especifique os limites de caracteres, como mostrado abaixo:
@minLength(3)
@maxLength(24)
param storageName string
Você também pode adicionar uma descrição para o parâmetro. Inclua informações que ajudem as pessoas que utilizam o ficheiro Bicep a perceber o valor que podem oferecer.
@minLength(3)
@maxLength(24)
@description('Provide a name for the storage account. Use only lower case letters and numbers. The name must be unique across Azure.')
param storageName string
O parâmetro de nome da conta de armazenamento está pronto para uso.
Adicione outro parâmetro de localização:
param location string = resourceGroup().location
Adicionar recurso
Em vez de usar um trecho para definir a conta de armazenamento, usamos o intellisense para definir os valores. O Intellisense torna esta etapa mais fácil do que ter que digitar manualmente os valores.
Para definir um recurso, use a resource palavra-chave. Abaixo da sua rede virtual, digite exemplo de recursoStorage:
resource exampleStorage
exampleStorage é um nome simbólico para o recurso que você está implantando. Pode usar este nome para referenciar o recurso noutras partes do seu ficheiro Bicep.
Quando você adiciona um espaço após o nome simbólico, uma lista de tipos de recursos é exibida. Continue digitando armazenamento até que você possa selecioná-lo entre as opções disponíveis.
Depois de selecionar Microsoft. Storage/storageAccounts, são apresentadas as versões disponíveis da API. Selecione 2021-09-01 ou a versão mais recente da API. Recomendamos o uso da versão mais recente da API.
Após a cotação única para o tipo de recurso, adicione = e um espaço. São apresentadas opções para adicionar propriedades ao recurso. Selecione as propriedades necessárias.
Esta opção adiciona todas as propriedades para o tipo de recurso que são necessárias para a implantação. Depois de selecionar essa opção, sua conta de armazenamento tem as seguintes propriedades:
resource exampleStorage 'Microsoft.Storage/storageAccounts@2025-06-01' = {
name: 1
location: 2
sku: {
name: 3
}
kind: 4
}
Há quatro espaços reservados no código. Utilize [TAB] para percorrê-los e inserir os valores. Mais uma vez, o IntelliSense ajuda-lhe. Defina name como storageName, que é o parâmetro que contém um nome para a conta de armazenamento. Para location, defina-o como location. Ao adicionar o nome e o tipo de SKU, o intellisense apresenta as opções válidas.
Quando terminar, você terá:
@minLength(3)
@maxLength(24)
@description('Provide a name for the storage account. Use only lower case letters and numbers. The name must be unique across Azure.')
param storageName string
param location string = resourceGroup().location
resource virtualNetwork 'Microsoft.Network/virtualNetworks@2025-01-01' = {
name: storageName
location: location
properties: {
addressSpace: {
addressPrefixes: [
'10.0.0.0/16'
]
}
subnets: [
{
name: 'Subnet-1'
properties: {
addressPrefix: '10.0.0.0/24'
}
}
{
name: 'Subnet-2'
properties: {
addressPrefix: '10.0.1.0/24'
}
}
]
}
}
resource exampleStorage 'Microsoft.Storage/storageAccounts@2025-06-01' = {
name: storageName
location: location
sku: {
name: 'Standard_LRS'
}
kind: 'StorageV2'
}
Para mais informações sobre a sintaxe Bicep, consulte Estrutura do Bicep.
Implementar o ficheiro Bicep
A implementação de ficheiros Bicep ainda não é possível a partir do Visual Studio. Pode implementar o ficheiro Bicep usando CLI do Azure ou Azure PowerShell:
az group create --name exampleRG --location eastus
az deployment group create --resource-group exampleRG --template-file main.bicep --parameters storageName=uniquename
Quando a implantação terminar, você verá uma mensagem indicando que a implantação foi bem-sucedida.
Limpeza de recursos
Quando os recursos do Azure deixarem de ser necessários, use o CLI do Azure ou o módulo Azure PowerShell para eliminar o grupo de recursos de início rápido.
az group delete --name exampleRG