Tutorial: Adicionar um recurso ao seu modelo do ARM

No tutorial anterior, aprendeu a criar e implementar o seu primeiro modelo do Azure Resource Manager em branco (modelo arm). Agora, está pronto para implementar um recurso real nesse modelo. Neste caso, uma conta de armazenamento do Azure. Esta instrução demora 9 minutos a ser concluída.

Pré-requisitos

Recomendamos que conclua o tutorial introdutório sobre modelos, mas não é necessário.

Tem de ter o Visual Studio Code instalado e a trabalhar com a extensão Azure Resource Manager Tools e Azure PowerShell ou a Interface de Command-Line (CLI) do Azure. Para obter mais informações, veja ferramentas de modelo.

Adicionar recurso

Para adicionar uma definição de conta de armazenamento do Azure ao modelo existente, veja o ficheiro JSON realçado no exemplo seguinte. Em vez de tentar copiar secções do modelo, copie todo o ficheiro e substitua o modelo pelo respetivo conteúdo.

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

Importante

O nome da conta de armazenamento tem de ser exclusivo em todo o Azure. É apenas letras minúsculas ou números e tem um limite de 24 carateres. Pode utilizar um nome como store1 como prefixo e, em seguida, adicionar as 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 para automatizar grandes implementações. Mais adiante nesta série de tutoriais, vai utilizar funcionalidades de modelo que facilitam a criação de um nome exclusivo.

Propriedades do recurso

Poderá estar a perguntar-se como pode encontrar as propriedades a utilizar para cada tipo de recurso. Pode utilizar a referência do modelo do ARM para encontrar os tipos de recursos que pretende implementar.

Cada recurso que implementar tem, pelo menos, as três propriedades seguintes:

  • type: tipo do recurso. Este valor é uma combinação do espaço de nomes do fornecedor de recursos e do tipo de recurso, como Microsoft.Storage/storageAccounts.
  • apiVersion: versão da API REST a utilizar para criar o recurso. Cada fornecedor de recursos publica as suas próprias versões de API, pelo que este valor é específico do tipo.
  • name: nome do recurso.

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

As outras propriedades variam consoante o tipo de recurso e a versão da API. É importante compreender a ligação entre a versão da API e as propriedades disponíveis, por isso vamos avançar mais detalhadamente.

Neste tutorial, vai adicionar uma conta de armazenamento ao modelo. Pode ver a versão da API da conta de armazenamento em storageAccounts 2021-09-01. Repare que não adiciona todas as propriedades ao seu modelo. Muitas das propriedades são opcionais. O Microsoft.Storage fornecedor de recursos pode lançar uma nova versão da API, mas a versão que está a implementar não tem de ser alterada. Pode continuar a utilizar essa versão e saber que os resultados da implementação são consistentes.

Se vir uma versão mais antiga da API , poderá ver que está disponível um conjunto mais pequeno de propriedades.

Se decidir alterar a versão da API de um recurso, confirme que avalia as propriedades dessa versão e ajusta o modelo adequadamente.

Implementar o modelo

Pode implementar o modelo para criar a conta de armazenamento. Atribua um nome diferente à sua implementação para que possa encontrá-la facilmente no histórico.

Se ainda não criou o grupo de recursos, veja Criar grupo de recursos. O exemplo pressupõe que definiu a templateFile variável para o caminho para o ficheiro de modelo, conforme mostrado no primeiro tutorial.

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

Nota

Se a implementação falhar, utilize o verbose comutador para obter informações sobre os recursos que está a criar. Utilize o debug comutador para obter mais informações sobre a depuração.

Estes erros são duas possíveis falhas de implementação que poderá encontrar:

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

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

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

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

Esta implementação demora mais tempo do que a implementação do modelo em branco porque está a criar uma conta de armazenamento. Pode demorar cerca de um minuto.

Verificar a implementação

Pode verificar a implementação ao explorar o grupo de recursos a partir do portal do Azure.

  1. Inicie sessão no portal do Azure.
  2. No menu esquerdo, selecione Grupos de recursos.
  3. Selecione a caixa à esquerda de myResourceGroup e selecione myResourceGroup
  4. Selecione o grupo de recursos no qual implementou.
  5. Verá que foi implementada uma conta de armazenamento.
  6. Repare que a etiqueta de implementação agora diz: Implementações: 2 Com êxito.

Limpar os recursos

Se estiver a avançar para o próximo tutorial, não precisa de eliminar o grupo de recursos.

Se estiver a parar agora, poderá querer limpar os recursos que implementou ao eliminar o grupo de recursos.

  1. Na portal do Azure, selecione Grupo de recursos no menu esquerdo.
  2. Escreva o nome do grupo de recursos na caixa Filtrar por qualquer campo...
  3. Selecione a caixa junto a myResourceGroup e selecione myResourceGroup ou o nome do grupo de recursos que escolheu.
  4. Selecione Eliminar grupo de recursos no menu superior.

Passos seguintes

Criou um modelo simples para implementar uma conta de armazenamento do Azure. Nos tutoriais posteriores, vai aprender a adicionar parâmetros, variáveis, recursos e saídas a um modelo. Estas funcionalidades são os blocos modulares para modelos muito mais complexos.