Entender os recursos do Azure
Todos os recursos do Azure são implantados com um tipo específico, que identifica a espécie de recurso. Uma ID de recurso é a maneira como o Azure identifica uma instância específica de um recurso. É importante entender como os tipos de recursos e as IDs do recurso são estruturados, pois isso fornece informações importantes ao escrever modelos Bicep.
Provedores de recursos
O Azure Resource Manager foi projetado para que muitos provedores de recursos diferentes possam ser gerenciados por meio de APIs do Resource Manager e modelos do ARM. Um provedor de recursos é um agrupamento lógico de tipos de recursos, que geralmente estão relacionados a um ou alguns serviços do Azure. Exemplos de provedores de recursos incluem:
Microsoft.Compute
, que é usado para máquinas virtuais.Microsoft.Network
, que é usado para recursos de rede, como redes virtuais, grupos de segurança de rede e tabelas de rotas.Microsoft.Cache
, que é usado para o Cache do Azure para Redis.Microsoft.Sql
, que é usado para o SQL do Azure.Microsoft.Web
, que é usado para Serviço de Aplicativo do Azure e Azure Functions.Microsoft.DocumentDB
, que é usado para Azure Cosmos DB.
Observação
Os nomes dos provedores e dos tipos de recurso ocasionalmente não correspondem aos nomes dos serviços do Azure aos quais se destinam ou podem ser nomes de produtos ou recursos antigos. Por exemplo, o provedor de recursos para workspace do Log Analytics é Microsoft.OperationalInsights
.
A documentação para a sintaxe do modelo do ARM de cada tipo de recurso é organizada de acordo com o provedor de recursos.
Os provedores de recursos devem ser registrados em sua assinatura antes que você possa usar os tipos de recursos que eles expõem. O registro é geralmente um processo de uso único. Quando você envia uma implantação de Bicep, o Resource Manager registra automaticamente os provedores de recursos usados no arquivo. Também é possível registrar um provedor de recursos usando o portal do Azure, a CLI do Azure ou o Azure PowerShell.
Tipos de recurso
Um provedor de recursos expõe vários tipos diferentes. Cada tipo de recurso tem seu próprio conjunto de propriedades e comportamentos que definem o recurso em si e o que ele pode fazer. Por exemplo, dentro do provedor Microsoft.Web
, há vários tipos de recursos, incluindo:
sites
: define um aplicativo do Aplicativo de Serviço ou do Azure Functions. As propriedades incluem as variáveis de ambiente que seu aplicativo usa e os protocolos com suporte (HTTP e HTTPS) para acessá-lo.serverFarms
: define um plano do Serviço de Aplicativo e a infraestrutura que executa seus aplicativos. As propriedades incluem o tamanho e a SKU dos servidores e o número de instâncias do plano que você deseja implantar.
Ao definir recursos no Bicep, você deve especificar o tipo e a versão da API do provedor que deseja que o Bicep use para o recurso. Essas informações ajudam as ferramentas Biceps e o Resource Manager a entender quais propriedades devem ser fornecidas com a definição de recurso.
Dica
Convém usar uma versão de API recente para cada recurso. Os novos recursos nos serviços do Azure às vezes são disponibilizados apenas em versões mais recentes da API.
Combine o provedor de recursos e o nome do tipo para criar um nome de tipo de recurso totalmente qualificado. O nome do tipo totalmente qualificado consiste no nome do provedor de recursos, uma barra (/
) e o tipo de recurso. Por exemplo, o nome de tipo totalmente qualificado de uma conta de armazenamento é Microsoft.Storage/storageAccounts
. Nesse caso, o nome do provedor de recursos é Microsoft.Storage
e o tipo de recurso é storageAccounts
.
IDs de recurso
Esse recurso tem uma propriedade de ID do recurso exclusiva. Esse ID inclui informações que ajudam a separar um recurso de qualquer outro do mesmo tipo ou até mesmo de recursos diferentes que podem compartilhar o mesmo nome. Uma ID de recurso para uma conta de armazenamento tem esta aparência:
/subscriptions/A123b4567c-1234-1a2b-2b1a-1234abc12345/resourceGroups/ToyDevelopment/providers/Microsoft.Storage/storageAccounts/secrettoys
Vamos ver uma representação visual das mesmas informações:
Você pode ver que uma ID do recurso intercala informações sobre o tipo de recurso e o recurso específico que você implantou. Vamos detalhar esse exemplo de ID de recurso em seus componentes:
subscriptions/A123b4567c-1234-1a2b-2b1a-1234abc12345
indica que esse recurso está dentro da assinatura do Azure com a ID.A123b4567c-1234-1a2b-2b1a-1234abc12345
.resourceGroups/ToyDevelopment
indica que o recurso está dentro do grupo de recursos chamadoToyDevelopment
.providers/Microsoft.Storage
indica que o recurso está usando um tipo proveniente do provedor de recursosMicrosoft.Storage
.storageAccounts
é o tipo de recurso.secrettoys
é o nome da conta de armazenamento.
Dica
Você pode acessar a ID de qualquer recurso no Bicep usando o nome simbólico e a propriedade id
. Por exemplo, se você definir uma conta de armazenamento com o nome simbólico toyDesignDocumentsStorageAccount
, poderá acessar sua ID de recurso usando a expressão toyDesignDocumentsStorageAccount.id
.
Agora que você viu os conceitos básicos de tipos e IDs de recurso, vamos ver os recursos filho.