Exercício - Adicionar parâmetros e decoradores
Observação
Este exercício é opcional. Se quiser concluir este exercício, terá de criar uma subscrição do Azure antes de começar. Se você não tiver uma conta do Azure ou não quiser criar uma no momento, leia as instruções para entender as informações que estão sendo apresentadas.
Observação
Você precisa usar um grupo de recursos para concluir as etapas deste exercício. Você pode usar um grupo de recursos que já criou ou pode criar um novo grupo de recursos especificamente para este exercício. Se você optar por criar um novo grupo de recursos, isso facilitará a limpeza de todos os recursos criados ao concluir o exercício. Se você não tiver um grupo de recursos existente ou quiser criar um novo especificamente para este exercício, siga as etapas em Usar o portal do Azure e o Gerenciador de Recursos do Azure para gerenciar grupos de recursos para criar um grupo de recursos usando o portal do Azure, ou você pode seguir as etapas em Gerenciar grupos de recursos do Azure usando a CLI do Azure para criar um grupo de recursos usando a CLI do Azure.
Como parte da migração do aplicativo de RH, você está criando um modelo Bicep para implantar recursos do Azure. Neste exercício, você criará um plano do Serviço de Aplicativo do Azure e um aplicativo do Serviço de Aplicativo. Você aplicará decoradores a cada parâmetro para garantir que eles sempre contenham os valores esperados.
Durante o processo, você fará as seguintes tarefas:
- Crie um arquivo Bicep que inclua parâmetros e variáveis.
- Adicione decoradores aos parâmetros.
- Teste a implantação para garantir que o modelo seja válido.
Este exercício usa a extensão Bicep para Visual Studio Code. Certifique-se de instalar essa extensão no Visual Studio Code.
Criar um modelo Bicep com parâmetros
Abre Visual Studio Code.
Crie um novo arquivo chamado main.bicep.
Salve o arquivo vazio para que o Visual Studio Code carregue as ferramentas do Bíceps.
Você pode selecionar Arquivo>Salvar como ou Ctrl +S no Windows (⌘+S no macOS). Lembre-se de onde você salvou o arquivo. Por exemplo, talvez queiras criar uma pasta de scripts para a salvar.
Adicione o seguinte conteúdo ao arquivo. Você implantará o modelo em breve. Insira o conteúdo você mesmo em vez de copiar e colar para que você possa ver como as ferramentas ajudam você a escrever seus arquivos Bicep.
param environmentName string = 'dev' param solutionName string = 'toyhr${uniqueString(resourceGroup().id)}' param appServicePlanInstanceCount int = 1 param appServicePlanSku object = { name: 'F1' tier: 'Free' } param location string = 'eastus' var appServicePlanName = '${environmentName}-${solutionName}-plan' var appServiceAppName = '${environmentName}-${solutionName}-app'Você está criando vários parâmetros aqui, e eles usam uma mistura de tipos. Você está definindo valores padrão para cada parâmetro. Alguns dos valores padrão incluem interpolação de cadeia de caracteres e a
uniqueString()função.Sugestão
A
uniqueString()função é útil para criar nomes de recursos globalmente exclusivos. Ele retorna uma cadeia de caracteres que é a mesma em todas as implantações para o mesmo grupo de recursos, mas diferente quando você implanta em diferentes grupos de recursos ou assinaturas.Você também está definindo variáveis que constroem os nomes do plano do Serviço de Aplicativo do Azure e do aplicativo do Serviço de Aplicativo. Seus valores incluem alguns dos parâmetros que você especificou. Os valores dos parâmetros podem ser substituídos pelo usuário que executa a implantação, mas os valores das variáveis não podem ser substituídos.
No arquivo main.bicep no Visual Studio Code, adicione o seguinte código à parte inferior do arquivo:
resource appServicePlan 'Microsoft.Web/serverfarms@2024-04-01' = { name: appServicePlanName location: location sku: { name: appServicePlanSku.name tier: appServicePlanSku.tier capacity: appServicePlanInstanceCount } } resource appServiceApp 'Microsoft.Web/sites@2024-04-01' = { name: appServiceAppName location: location properties: { serverFarmId: appServicePlan.id httpsOnly: true } }Observe que os recursos usam os valores dos parâmetros definidos.
Salve as alterações no arquivo.
Adicionar descrições de parâmetros
No arquivo main.bicep no Visual Studio Code, adicione o
@descriptiondecorador diretamente acima de cada parâmetro que você criou na tarefa anterior. Os parâmetros devem ser semelhantes a este exemplo:@description('The name of the environment. This must be dev, test, or prod.') param environmentName string = 'dev' @description('The unique name of the solution. This is used to ensure that resource names are unique.') param solutionName string = 'toyhr${uniqueString(resourceGroup().id)}' @description('The number of App Service plan instances.') param appServicePlanInstanceCount int = 1 @description('The name and tier of the App Service plan SKU.') param appServicePlanSku object = { name: 'F1' tier: 'Free' } @description('The Azure region into which the resources should be deployed.') param location string = 'eastus'Salve as alterações no arquivo.
Valores-limite de entrada
Sua empresa de brinquedos implantará o aplicativo de RH em três ambientes: dev, test, e prod. Você limitará o environmentName parâmetro para permitir apenas esses três valores.
No arquivo main.bicep no Visual Studio Code, localize o
environmentNameparâmetro. Insira um@alloweddecorador por baixo do seu@descriptiondecorador. Depois de terminar, o parâmetro deve ser semelhante a este exemplo:@description('The name of the environment. This must be dev, test, or prod.') @allowed([ 'dev' 'test' 'prod' ]) param environmentName string = 'dev'Observe que você está limitando o valor do parâmetro para
environmentNameo parâmetro a apenasdev,testeprod. Se mais ambientes forem adicionados no futuro, você precisará atualizar essa lista.Salve as alterações no arquivo.
Limitar comprimentos de entrada
Seu solutionName parâmetro é usado para gerar os nomes dos recursos. Você deseja impor um comprimento mínimo de 5 caracteres e um comprimento máximo de 30 caracteres.
No arquivo main.bicep no Visual Studio Code, localize o
solutionNameparâmetro. Adicione@minLengthe@maxLengthdecoradores por baixo do@descriptiondecorador. Depois de terminar, o parâmetro deve ser semelhante a este exemplo:@description('The unique name of the solution. This is used to ensure that resource names are unique.') @minLength(5) @maxLength(30) param solutionName string = 'toyhr${uniqueString(resourceGroup().id)}'Salve as alterações no arquivo.
Valores-limite numéricos
Em seguida, você garantirá que o appServicePlanInstanceCount parâmetro permita apenas valores entre 1 e 10.
No arquivo main.bicep no Visual Studio Code, localize o
appServicePlanInstanceCountparâmetro. Adicione@minValuee@maxValuedecoradores por baixo do@descriptiondecorador. Depois de terminar, o parâmetro deve ser semelhante a este exemplo:@description('The number of App Service plan instances.') @minValue(1) @maxValue(10) param appServicePlanInstanceCount int = 1Salve as alterações no arquivo.
Verifique seu arquivo Bicep
Depois de concluir todas as alterações anteriores, o arquivo Bicep deve ter esta aparência:
@description('The name of the environment. This must be dev, test, or prod.')
@allowed([
'dev'
'test'
'prod'
])
param environmentName string = 'dev'
@description('The unique name of the solution. This is used to ensure that resource names are unique.')
@minLength(5)
@maxLength(30)
param solutionName string = 'toyhr${uniqueString(resourceGroup().id)}'
@description('The number of App Service plan instances.')
@minValue(1)
@maxValue(10)
param appServicePlanInstanceCount int = 1
@description('The name and tier of the App Service plan SKU.')
param appServicePlanSku object = {
name: 'F1'
tier: 'Free'
}
@description('The Azure region into which the resources should be deployed.')
param location string = 'eastus'
var appServicePlanName = '${environmentName}-${solutionName}-plan'
var appServiceAppName = '${environmentName}-${solutionName}-app'
resource appServicePlan 'Microsoft.Web/serverfarms@2024-04-01' = {
name: appServicePlanName
location: location
sku: {
name: appServicePlanSku.name
tier: appServicePlanSku.tier
capacity: appServicePlanInstanceCount
}
}
resource appServiceApp 'Microsoft.Web/sites@2024-04-01' = {
name: appServiceAppName
location: location
properties: {
serverFarmId: appServicePlan.id
httpsOnly: true
}
}
Caso contrário, copie o exemplo ou ajuste o modelo para corresponder ao exemplo.
Implantar o modelo Bicep no Azure
Para implementar este modelo no Azure, tem de iniciar sessão na sua conta do Azure a partir do terminal do Visual Studio Code. Certifique-se de ter instalado as ferramentas da CLI do Azure .
No menu Terminal, selecione New Terminal (Novo Terminal). A janela do terminal geralmente abre na metade inferior da tela.
Se a janela do terminal exibir bash no lado direito, isso significa que o shell correto já está aberto. Como alternativa, se você vir um ícone de shell bash à direita, você pode selecioná-lo para iniciar o shell.
Se um shell diferente de bash aparecer, selecione a seta da lista de opções do shell e, em seguida, selecione Git Bash.
No terminal, vá para o diretório onde você salvou seu modelo. Por exemplo, se você salvou seu modelo na pasta de modelos , poderá usar este comando:
cd templates
Instalar o Bicep
Execute o seguinte comando para garantir que você tenha a versão mais recente do Bicep:
az bicep install && az bicep upgrade
Entrar no Azure usando a CLI do Azure
No terminal do Visual Studio Code, entre no Azure executando o seguinte comando:
az loginNo browser que se abre, inicie sessão na sua conta do Azure.
O terminal de código do Visual Studio exibe uma lista das assinaturas associadas a essa conta.
Na lista, localize a subscrição que pretende utilizar para este exercício.
Se você perdeu a lista do login, você pode usar o trecho a seguir para listar suas assinaturas novamente.
az account list --output tableDefina a assinatura padrão para todos os comandos da CLI do Azure que você executa nesta sessão.
az account set --subscription "Your Subscription Name or ID"
Implantar o modelo no Azure usando a CLI do Azure
Execute o código a seguir do terminal no Visual Studio Code para implantar o modelo Bicep no Azure. Não é necessário especificar os valores dos parâmetros porque eles têm valores padrão especificados. Esse processo pode levar um ou dois minutos para ser concluído e, em seguida, você verá uma implantação bem-sucedida.
az deployment group create --name main --template-file main.bicep
Verá Running... no terminal.
Para implantar esse modelo no Azure, entre em sua conta do Azure a partir do terminal do Visual Studio Code. Certifique-se de ter instalado o Azure PowerShell.
No menu Terminal, selecione New Terminal (Novo Terminal). A janela do terminal geralmente abre na metade inferior da tela.
Se a janela do terminal exibir pwsh ou powershell no lado direito, isso significa que o shell correto já está aberto. Como alternativa, se você vir um ícone de shell do PowerShell à direita, poderá selecioná-lo para iniciar o shell.
Se um shell diferente de pwsh ou powershell aparecer, selecione a seta suspensa do shell e depois selecione PowerShell.
No terminal, vá para o diretório onde você salvou seu modelo. Por exemplo, se você salvou seu modelo na pasta de modelos , poderá usar este comando:
Set-Location -Path templates
Instalar a CLI do Bíceps
Para usar o Bicep do Azure PowerShell, instale a CLI do Bicep.
Iniciar sessão no Azure com o Azure PowerShell
No terminal do Visual Studio Code, entre no Azure executando o seguinte comando:
Connect-AzAccountNo browser que se abre, inicie sessão na sua conta do Azure.
Obtenha o ID da subscrição que pretende utilizar para este exercício executando o seguinte comando:
Get-AzSubscriptionO ID de subscrição é a segunda coluna. Copie a segunda coluna. Parece algo como aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e.
Defina a assinatura padrão para todos os comandos do Azure PowerShell executados nesta sessão.
Set-AzContext -SubscriptionId {Your subscription ID}
Implantar o modelo no Azure usando o PowerShell
Implante o modelo no Azure usando o seguinte comando do Azure PowerShell no terminal. Não é necessário especificar os valores dos parâmetros porque eles têm valores padrão especificados. Esse processo pode levar um ou dois minutos para ser concluído e, em seguida, você verá uma implantação bem-sucedida.
New-AzResourceGroupDeployment -Name main -TemplateFile main.bicep
Verifique a sua implementação
Vai ao portal Azure e certifica-te de que estás na subscrição correta.
No painel esquerdo, selecione Grupos de recursos.
Selecione o nome do seu grupo de recursos.
Em Visão geral, você pode ver que uma implantação foi bem-sucedida.
Selecione 1 Êxito para ver os detalhes da implantação.
Selecione a implantação chamada principal para ver quais recursos foram implantados e, em seguida, selecione Detalhes da implantação para expandi-la. Nesse caso, há um plano e um aplicativo do Serviço de Aplicativo.
No menu à esquerda, selecione Entradas.
Observe que os parâmetros e seus valores estão listados.
Deixe a página aberta no seu browser. Vai verificar as implementações novamente mais tarde.