Tutorial: Use o modelo JSON exportado a partir do portal AzureTutorial: Use exported JSON template from the Azure portal

Nesta série tutorial, criou um ficheiro Bicep para implantar uma conta de armazenamento Azure.In this tutorial series, you've created a Bicep file to deploy an Azure storage account. Nos dois seguintes tutoriais, você adiciona um plano de Serviço de Aplicações e um site.In the next two tutorials, you add an App Service plan and a website. Em vez de criar modelos de raiz, você aprende a exportar modelos JSON a partir do portal Azure e como usar modelos de amostra a partir dos modelos Azure Quickstart.Instead of creating templates from scratch, you learn how to export JSON templates from the Azure portal and how to use sample templates from the Azure Quickstart templates. Personaliza esses modelos para o seu uso.You customize those templates for your use. Este tutorial centra-se em modelos de exportação e personalização do resultado para o seu ficheiro Bicep.This tutorial focuses on exporting templates, and customizing the result for your Bicep file. Leva cerca de 14 minutos para ser completado.It takes about 14 minutes to complete.

Nota

Este artigo contém exemplos bicep.This article contains Bicep examples. Bicep está atualmente em pré-visualização.Bicep is currently in preview. Para mais informações, consulte a visão geral do Bicep.For more information, see Bicep overview.

Pré-requisitosPrerequisites

Recomendamos que complete o tutorial sobre saídas,mas não é necessário.We recommend that you complete the tutorial about outputs, but it's not required.

Você deve ter Código de Estúdio Visual com a extensão Bicep, e ou Azure PowerShell ou Azure CLI.You must have Visual Studio Code with the Bicep extension, and either Azure PowerShell or Azure CLI. Para mais informações, consulte as ferramentas Bicep.For more information, see Bicep tools.

Rever ficheiro BicepReview Bicep file

No final do tutorial anterior, o seu ficheiro Bicep tinha os seguintes conteúdos:At the end of the previous tutorial, your Bicep file had the following contents:

@minLength(3)
@maxLength(11)
param storagePrefix string

@allowed([
  'Standard_LRS'
  'Standard_GRS'
  'Standard_RAGRS'
  'Standard_ZRS'
  'Premium_LRS'
  'Premium_ZRS'
  'Standard_GZRS'
  'Standard_RAGZRS'
])
param storageSKU string = 'Standard_LRS'

param location string = resourceGroup().location

var uniqueStorageName = '${storagePrefix}${uniqueString(resourceGroup().id)}'

resource stg 'Microsoft.Storage/storageAccounts@2019-04-01' = {
  name: uniqueStorageName
  location: location
  sku: {
    name: storageSKU
  }
  kind: 'StorageV2'
  properties: {
    supportsHttpsTrafficOnly: true
  }
}

output storageEndpoint object = stg.properties.primaryEndpoints

Este ficheiro Bicep funciona bem para a implementação de contas de armazenamento, mas talvez queira adicionar mais recursos.This Bicep file works well for deploying storage accounts, but you might want to add more resources to it. Você pode exportar um modelo JSON a partir de um recurso existente para obter rapidamente o JSON para esse recurso.You can export a JSON template from an existing resource to quickly get the JSON for that resource. E, em seguida, converta o JSON em Bicep antes de o poder adicionar ao seu ficheiro Bicep.And then convert the JSON to Bicep before you can add it to your Bicep file.

Criar plano do App ServiceCreate App Service plan

  1. Inicie sessão no portal do Azure.Sign in to the Azure portal.

  2. Selecione Criar um recurso.Select Create a resource.

  3. Em Search the Marketplace, insira o plano de Serviço de Aplicações e, em seguida, selecione o plano de Serviço de Aplicações.In Search the Marketplace, enter App Service plan, and then select App Service plan. Não selecione o plano de Serviço de Aplicações (clássico)Don't select App Service plan (classic)

  4. Selecione Criar.Select Create.

  5. Introduza:Enter:

    • Subscrição: selecione a sua subscrição Azure.Subscription: select your Azure subscription.
    • Grupo de Recursos: Selecione Criar novo e, em seguida, especificar um nome.Resource Group: Select Create new and then specify a name. Forneça um nome de grupo de recursos diferente daquele que tem usado nesta série tutorial.Provide a different resource group name than the one you have been using in this tutorial series.
    • Nome: insira um nome para o plano de serviço da App.Name: enter a name for the App service plan.
    • Sistema operativo: selecione Linux.Operating System: select Linux.
    • Região: selecione uma localização Azure.Region: select an Azure location. Por exemplo, E.U.A. Central.For example, Central US.
    • Nível de preços: para poupar custos, altere o SKU para Basic B1 (em Dev/Test).Pricing tier: to save costs, change the SKU to Basic B1 (under Dev/Test).

    Portal do modelo de exportação do modelo do gestor de recursos

  6. Selecione Rever e criar.Select Review and create.

  7. Selecione Criar.Select Create. Leva alguns momentos para criar o recurso.It takes a few moments to create the resource.

Exportar modeloExport template

Atualmente, o portal Azure apenas suporta a exportação de modelos JSON.Currently, the Azure portal only supports exporting JSON templates. Existem ferramentas que pode usar para descompiler modelos JSON para ficheiros Bicep.There are tools you can use to decompile JSON templates to Bicep files.

  1. Selecione Ir para recurso.Select Go to resource.

    Ir para recurso

  2. Selecione o modelo de exportação.Select Export template.

    Modelo de exportação de modelo de gestor de recursos

    A característica do modelo de exportação toma o estado atual de um recurso e gera um modelo para implementá-lo.The export template feature takes the current state of a resource and generates a template to deploy it. Exportar um modelo pode ser uma forma útil de obter rapidamente o JSON que você precisa para implementar um recurso.Exporting a template can be a helpful way of quickly getting the JSON you need to deploy a resource.

  3. A Microsoft.Web/serverfarms definição e a definição de parâmetro são as partes de que precisa.The Microsoft.Web/serverfarms definition and the parameter definition are the parts that you need.

    Modelo de exportação de modelo de gestor de recursos modelo exportado

    Importante

    Tipicamente, o modelo exportado é mais verboso do que você poderia querer ao criar um modelo.Typically, the exported template is more verbose than you might want when creating a template. Por exemplo, o objeto SKU no modelo exportado tem cinco propriedades.For example, the SKU object in the exported template has five properties. Este modelo funciona, mas você poderia apenas usar a name propriedade.This template works, but you could just use the name property. Pode começar com o modelo exportado e, em seguida, modificá-lo como quiser para se adaptar às suas necessidades.You can start with the exported template, and then modify it as you like to fit your requirements.

  4. Selecione Transferir.Select Download. O ficheiro zip descarregado contém uma template.js e uma parameters.jsligado.The downloaded zip file contains a template.json and a parameters.json. Desaperte os ficheiros.Unzip the files.

  5. Navegue para https://bicepdemo.z22.web.core.windows.net/ , selecione Decompile, e, em seguida, abrir template.jsem.Browse to https://bicepdemo.z22.web.core.windows.net/, select Decompile, and then open template.json. Obtém-se o modelo em Bicep.You get the template in Bicep.

Rever o ficheiro Bicep existenteRevise existing Bicep file

O modelo exportado descomplisado dá-lhe a maior parte do Bicep que precisa, mas precisa personalizá-lo para o seu ficheiro Bicep.The decomplied exported template gives you most of the Bicep you need, but you need to customize it for your Bicep file. Preste especial atenção às diferenças de parâmetros e variáveis entre o seu ficheiro Bicep e o ficheiro Bicep exportado.Pay particular attention to differences in parameters and variables between your Bicep file and the exported Bicep file. Obviamente, o processo de exportação não conhece os parâmetros e variáveis que já definiu no seu ficheiro Bicep.Obviously, the export process doesn't know the parameters and variables that you've already defined in your Bicep file.

O exemplo a seguir mostra as adições ao seu ficheiro Bicep.The following example shows the additions to your Bicep file. Contém o código exportado mais algumas alterações.It contains the exported code plus some changes. Primeiro, muda o nome do parâmetro para corresponder à sua convenção de nomeação.First, it changes the name of the parameter to match your naming convention. Em segundo lugar, utiliza o seu parâmetro de localização para a localização do plano de serviço de aplicações.Second, it uses your location parameter for the location of the app service plan. Em terceiro lugar, remove algumas das propriedades onde o valor padrão é bom.Third, it removes some of the properties where the default value is fine.

Copie todo o ficheiro e substitua o seu ficheiro Bicep pelo seu conteúdo.Copy the whole file and replace your Bicep file with its contents.

@minLength(3)
@maxLength(11)
param storagePrefix string

@allowed([
  'Standard_LRS'
  'Standard_GRS'
  'Standard_RAGRS'
  'Standard_ZRS'
  'Premium_LRS'
  'Premium_ZRS'
  'Standard_GZRS'
  'Standard_RAGZRS'
])
param storageSKU string = 'Standard_LRS'

param location string = resourceGroup().location
param appServicePlanName string = 'exampleplan'

var uniqueStorageName = '${storagePrefix}${uniqueString(resourceGroup().id)}'

resource stg 'Microsoft.Storage/storageAccounts@2019-04-01' = {
  name: uniqueStorageName
  location: location
  sku: {
    name: storageSKU
  }
  kind: 'StorageV2'
  properties: {
    supportsHttpsTrafficOnly: true
  }
}

resource appPlan 'Microsoft.Web/serverfarms@2016-09-01' = {
  name: appServicePlanName
  location: location
  sku: {
    name: 'B1'
    tier: 'Basic'
    size: 'B1'
    family: 'B'
    capacity: 1
  }
  kind: 'linux'
  properties: {
    perSiteScaling: false
    reserved: true
    targetWorkerCount: 0
    targetWorkerSizeId: 0
  }
}

output storageEndpoint object = stg.properties.primaryEndpoints

Implementar ficheiro BicepDeploy Bicep file

Utilize o Azure CLI ou o Azure PowerShell para implementar um ficheiro Bicep.Use either Azure CLI or Azure PowerShell to deploy a Bicep file.

Se não criou o grupo de recursos, consulte criar grupo de recursos.If you haven't created the resource group, see Create resource group. O exemplo pressupõe que definiu a bicepFile variável para o caminho para o ficheiro Bicep, como mostra o primeiro tutorial.The example assumes you've set the bicepFile variable to the path to the Bicep file, as shown in the first tutorial.

Para executar este cmdlet de implementação, você deve ter a versão mais recente de Azure PowerShell.To run this deployment cmdlet, you must have the latest version of Azure PowerShell.

New-AzResourceGroupDeployment `
  -Name addappserviceplan `
  -ResourceGroupName myResourceGroup `
  -TemplateFile $bicepFile `
  -storagePrefix "store" `
  -storageSKU Standard_LRS

Nota

Se a implementação falhar, utilize o verbose interruptor para obter informações sobre os recursos que estão a ser criados.If the deployment failed, use the verbose switch to get information about the resources being created. Use o debug interruptor para obter mais informações para depuração.Use the debug switch to get more information for debugging.

Verificar a implementaçãoVerify deployment

Pode verificar a implementação explorando o grupo de recursos a partir do portal Azure.You can verify the deployment by exploring the resource group from the Azure portal.

  1. Inicie sessão no portal do Azure.Sign in to the Azure portal.
  2. A partir do menu esquerdo, selecione Grupos de Recursos.From the left menu, select Resource groups.
  3. Selecione o grupo de recursos para o quais foi implantado.Select the resource group you deployed to.
  4. O grupo de recursos contém uma conta de armazenamento e um plano de Serviço de Aplicações.The resource group contains a storage account and an App Service plan.

Limpar os recursosClean up resources

Se está a avançar para o próximo tutorial, não precisa de eliminar o grupo de recursos.If you're moving on to the next tutorial, you don't need to delete the resource group.

Se estás a parar agora, talvez queiras limpar os recursos que mobilizaste, eliminando o grupo de recursos.If you're stopping now, you might want to clean up the resources you deployed by deleting the resource group.

  1. A partir do portal Azure, selecione Grupo de Recursos do menu esquerdo.From the Azure portal, select Resource group from the left menu.
  2. Introduza o nome do grupo de recursos no campo Filtrar por nome.Enter the resource group name in the Filter by name field.
  3. Selecione o nome do grupo de recursos.Select the resource group name.
  4. Selecione Eliminar o grupo de recursos do menu superior.Select Delete resource group from the top menu.

Passos seguintesNext steps

Você aprendeu a exportar um modelo JSON a partir do portal Azure, como converter o modelo JSON em um ficheiro Bicep, e como usar o modelo exportado para o seu desenvolvimento Bicep.You learned how to export a JSON template from the Azure portal, how to convert the JSON template to a Bicep file, and how to use the exported template for your Bicep development. Também pode usar os modelos Azure Quickstart para simplificar o desenvolvimento do Bicep.You can also use the Azure Quickstart templates to simplify Bicep development.