Tutorial: Adicionar um recurso ao modelo do ARM

No tutorial anterior, você aprendeu a criar e implantar seu primeiro modelo em branco do Azure Resource Manager (modelo do ARM). Agora você está pronto para implantar um recurso real para esse modelo. Nesse caso, uma conta de armazenamento do Azure. Essa instrução leva cerca de 9 minutos para ser concluída.

Pré-requisitos

Recomendamos que você conclua o tutorial introdutório sobre modelos, mas isso não é obrigatório.

É necessário ter o Visual Studio Code instalado e funcionando com a extensão das Ferramentas do Azure Resource Manager e o Azure PowerShell ou a CLI do Azure. Para obter mais informações, confira Ferramentas de modelo.

Adicionar recurso

Para adicionar uma definição de conta de armazenamento do Azure ao modelo existente, examine o arquivo JSON realçado no exemplo a seguir. Em vez de tentar copiar as seções do modelo, copie o arquivo inteiro e substitua o seu modelo pelo conteúdo desse arquivo.

Substitua {provide-unique-name} e as chaves {} por um nome de conta de armazenamento exclusivo.

Importante

O nome da conta de armazenamento precisa ser exclusivo no Azure. É apenas letras minúsculas ou números e tem um limite de 24 caracteres. É possível usar um nome como store1 como prefixo e adicionar suas iniciais e a data de hoje. O nome, por exemplo, pode ser store1abc06132022.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "resources": [
    {
      "type": "Microsoft.Storage/storageAccounts",
      "apiVersion": "2021-09-01",
      "name": "{provide-unique-name}",
      "location": "eastus",
      "sku": {
        "name": "Standard_LRS"
      },
      "kind": "StorageV2",
      "properties": {
        "supportsHttpsTrafficOnly": true
      }
    }
  ]
}

Adivinhar um nome exclusivo para uma conta de armazenamento não é fácil e não funciona bem na automatização de grandes implantações. Posteriormente nesta série de tutoriais, você usa recursos de modelo que facilitam a criação de um nome exclusivo.

Propriedades de recurso

Você pode estar se perguntando como encontrar as propriedades a serem usadas para cada tipo de recurso. Você pode usar a referência de modelo do ARM para localizar os tipos de recursos que você deseja implantar.

Cada recurso que você implanta tem pelo menos as três propriedades a seguir:

  • type: Tipo do recurso. Esse valor é uma combinação do namespace do provedor de recursos e do tipo de recurso como Microsoft.Storage/storageAccounts.
  • apiVersion: Versão da API REST a ser usada para criar o recurso. Cada provedor de recursos publica as próprias versões de API, portanto, esse valor é específico para o tipo.
  • name: Nome do recurso.

A maioria dos recursos também tem uma propriedade location, que define a região onde você implanta o recurso.

As outras propriedades variam por tipo de recurso e versão de API. É importante entender a conexão entre a versão da API e as propriedades disponíveis, então vamos ver isso em mais detalhes.

Neste tutorial, você adiciona uma conta de armazenamento ao modelo. É possível ver a versão da API da conta de armazenamento em storageAccounts 2021-09-01. Observe que você não adiciona odas as propriedades ao seu modelo. Muitas das propriedades são opcionais. O provedor de recursos Microsoft.Storage pode liberar uma nova versão de API, mas a versão que você está implantando não precisa ser alterada. Você poderá continuar usando essa versão e saber que os resultados da implantação são consistentes.

Ao ver uma versão da API mais antiga, observe que há um conjunto menor de propriedades disponível.

Se você decidir alterar a versão da API para um recurso, será preciso avaliar as propriedades dessa versão e ajustar o modelo adequadamente.

Implantar modelo

Você pode implantar o modelo para criar a conta de armazenamento. Dê um nome diferente à sua implantação para que você possa encontrá-la com facilidade no histórico.

Caso você não tenha criado o grupo de recursos, confira Criar grupo de recursos. O exemplo pressupõe que você tenha definido a variável templateFile como o caminho para o arquivo de modelo, conforme mostrado no primeiro tutorial.

New-AzResourceGroupDeployment `
  -Name addstorage `
  -ResourceGroupName myResourceGroup `
  -TemplateFile $templateFile

Observação

Se a implantação falhar, use a opção verbose para obter informações sobre os recursos que você está criando. Use a opção debug para obter mais informações de depuração.

Estes erros são duas possíveis de implantação que você pode encontrar:

  • Error: Code=AccountNameInvalid; Message={provide-unique-name} não é um nome de conta de armazenamento válido. O nome da conta de armazenamento precisar ser entre 3 e 24 caracteres, usar números e apenas letras minúsculas.

    No modelo, substitua {provide-unique-name} por um nome exclusivo da conta de armazenamento. Confira Adicionar recurso.

  • Error: Code=StorageAccountAlreadyTaken; Message=The storage account named store1abc09092019 já está em uso.

    No modelo, experimente um nome de conta de armazenamento diferente.

Essa implantação leva mais tempo do que a implantação de modelo em branco porque você está criando uma conta de armazenamento. Isso pode levar cerca de um minuto.

Verificar implantação

Você pode verificar a implantação explorando o grupo de recursos no portal do Azure.

  1. Entre no portal do Azure.
  2. No menu à esquerda, selecione Grupos de recursos.
  3. Marque a caixa à esquerda de myResourceGroup e selecione myResourceGroup
  4. Selecione o grupo de recursos no qual você fez a implantação.
  5. Você verá que uma conta de armazenamento foi implantada.
  6. Observe que o rótulo de implantação agora mostra: Implantações: duas bem-sucedidas.

Limpar os recursos

Se você estiver passando para o próximo tutorial, não será necessário excluir o grupo de recursos.

Se estiver parando agora, o ideal será limpar os recursos implantados excluindo o grupo de recursos.

  1. No portal do Azure, escolha Grupos de recursos do menu à esquerda.
  2. Digite o nome do grupo de recursos na caixa Filtro para qualquer campo....
  3. Marque a caixa ao lado de myResourceGroup e selecionemyResourceGroup ou o nome do grupo de recursos escolhido.
  4. Escolha Excluir grupo de recursos no menu superior.

Próximas etapas

Você criou um modelo simples para implantar uma conta do Armazenamento do Azure. Nos tutoriais posteriores, você aprenderá a adicionar parâmetros, variáveis, recursos e saídas a um modelo. Esses recursos são os blocos de construção para modelos muito mais complexos.