Início Rápido: Criar ficheiros Bicep com o Visual Studio
Este guia de início rápido orienta-o através dos passos para criar um ficheiro Bicep com o Visual Studio. Irá criar uma conta de armazenamento e uma rede virtual. Também irá aprender como a extensão bicep simplifica o desenvolvimento ao fornecer segurança do tipo, validação de sintaxe e conclusão automática.
Também é suportada uma experiência de criação semelhante no Visual Studio Code. Veja Início Rápido: Criar ficheiros Bicep com o Visual Studio Code.
Pré-requisitos
- Subscrição do Azure. Se não tiver uma subscrição do Azure, crie uma conta gratuita antes de começar.
- Visual Studio versão 17.3.0 pré-visualização 3 ou mais recente. Veja Visual Studio Preview( Pré-visualização do Visual Studio).
- Extensão do Visual Studio Bicep. Veja Visual Studio Marketplace.
- A implementação de ficheiros bicep requer a CLI do Azure mais recente ou o módulo de Azure PowerShell mais recente.
Adicionar fragmento de recurso
Inicie o Visual Studio e crie um novo ficheiro com o nome main.bicep.
O Visual Studio com a extensão Bicep simplifica o desenvolvimento ao fornecer fragmentos predefinidos. Neste início rápido, irá adicionar um fragmento que cria uma rede virtual.
Em main.bicep, escreva vnet. Selecione res-vnet na lista e, em seguida, prima [TAB] ou [ENTER].
Dica
Se não vir essas opções de intellisense no Visual Studio, certifique-se de que instalou a extensão bicep conforme especificado em Pré-requisitos. Se tiver instalado a extensão, dê algum tempo ao serviço de idioma do Bicep para iniciar depois de abrir o ficheiro Bicep. Normalmente, começa rapidamente, mas não terá opções de intellisense até começar.
O ficheiro Bicep contém agora o seguinte código:
resource virtualNetwork 'Microsoft.Network/virtualNetworks@2023-11-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 fragmento contém todos os valores necessários para definir uma rede virtual. No entanto, pode modificar este código para satisfazer os seus requisitos. Por exemplo, name
não é um nome ótimo para a rede virtual. Altere a name
propriedade para exampleVnet
.
name: 'exampleVnet'
A localização do aviso tem um sublinhado vermelho encaracolado. Isto indica um problema. Paire o cursor sobre a localização. A mensagem de erro é : o nome "localização" não existe no contexto atual. Vamos criar um parâmetro de localização na secção seguinte.
Adicionar parâmetros
Agora, vamos adicionar dois parâmetros para o nome da conta de armazenamento e a localização. Na parte superior do ficheiro, adicione:
param storageName
Quando adiciona um espaço após storageName, tenha em atenção que o intellisense oferece os tipos de dados disponíveis para o parâmetro. Selecione cadeia.
Tem o seguinte parâmetro:
param storageName string
Este parâmetro funciona bem, mas as contas de armazenamento têm limites na duração do nome. O nome tem de ter, pelo menos, 3 carateres e não mais de 24 carateres. Pode especificar esses requisitos ao adicionar decoradores ao parâmetro .
Adicione uma linha acima do parâmetro e escreva @. Verá os decoradores disponíveis. Repare que existem decoradores para minLength e maxLength.
Adicione ambos os decoradores e especifique os limites de carateres, conforme mostrado abaixo:
@minLength(3)
@maxLength(24)
param storageName string
Também pode adicionar uma descrição para o parâmetro. Inclua informações que ajudam as pessoas a implementar o ficheiro Bicep a compreender o valor a fornecer.
@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 nome da conta de armazenamento está pronto para ser utilizado.
Adicione outro parâmetro de localização:
param location string = resourceGroup().location
Adicionar recurso
Em vez de utilizar um fragmento para definir a conta de armazenamento, vamos utilizar o intellisense para definir os valores. O Intellisense torna este passo muito mais fácil do que ter de escrever manualmente os valores.
Para definir um recurso, utilize a resource
palavra-chave. Abaixo da rede virtual, escreva exemplo de recursoStorage:
resource exampleStorage
exampleStorage é um nome simbólico para o recurso que está a implementar. Pode utilizar este nome para referenciar o recurso noutras partes do ficheiro Bicep.
Quando adiciona um espaço após o nome simbólico, é apresentada uma lista de tipos de recursos. Continue a escrever armazenamento até poder selecioná-lo nas opções disponíveis.
Depois de selecionar Microsoft.Storage/storageAccounts, são apresentadas as versões de API disponíveis. Selecione 2021-09-01 ou a versão mais recente da API. Recomendamos que utilize a versão mais recente da API.
Depois da plica do tipo de recurso, adicione =
e um espaço. São-lhe apresentadas opções para adicionar propriedades ao recurso. Selecione required-properties.
Esta opção adiciona todas as propriedades para o tipo de recurso necessário para a implementação. Depois de selecionar esta opção, a sua conta de armazenamento tem as seguintes propriedades:
resource exampleStorage 'Microsoft.Storage/storageAccounts@2023-04-01' = {
name: 1
location: 2
sku: {
name: 3
}
kind: 4
}
Existem quatro marcadores de posição no código. Utilize [TAB] para os percorrer e introduzir os valores. Mais uma vez, o intellisense ajuda-o. 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, tem:
@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@2023-11-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@2023-04-01' = {
name: storageName
location: location
sku: {
name: 'Standard_LRS'
}
kind: 'StorageV2'
}
Para obter mais informações sobre a sintaxe do Bicep, veja Estrutura do Bicep.
Implementar o ficheiro Bicep
A implementação de ficheiros Bicep ainda não pode ser efetuada a partir do Visual Studio. Pode implementar o ficheiro Bicep com a 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 implementação terminar, deverá ver uma mensagem a indicar que a implementação foi efetuada com êxito.
Limpar os recursos
Quando os recursos do Azure já não forem necessários, utilize a CLI do Azure ou Azure PowerShell módulo para eliminar o grupo de recursos de início rápido.
az group delete --name exampleRG