Inzicht krijgen in Azure-resources
Alle Azure-resources worden geïmplementeerd met een specifiek type. Het type identificeert het type resource dat het is. Een resource-id is de manier waarop Azure een specifiek exemplaar van een resource identificeert. Het is belangrijk om te begrijpen hoe resourcetypen en resource-id's zijn gestructureerd, omdat ze u belangrijke informatie geven wanneer u Bicep-sjablonen schrijft.
Hulpbronnenleveranciers
Azure Resource Manager is zo ontworpen dat veel verschillende resourceproviders kunnen worden beheerd via Resource Manager-API's en ARM-sjablonen. Een resourceprovider is een logische groepering van resourcetypen, die meestal betrekking hebben op een of enkele Azure-services. Voorbeelden van resourceproviders zijn:
-
Microsoft.Compute
, die wordt gebruikt voor virtuele machines. -
Microsoft.Network
, die wordt gebruikt voor netwerkresources, zoals virtuele netwerken, netwerkbeveiligingsgroepen en routetabellen. -
Microsoft.Cache
, die wordt gebruikt voor Azure Cache voor Redis. -
Microsoft.Sql
, die wordt gebruikt voor Azure SQL. -
Microsoft.Web
, die wordt gebruikt voor Azure App Service en Azure Functions. -
Microsoft.DocumentDB
, die wordt gebruikt voor Azure Cosmos DB.
Notitie
De namen en resourcetypenamen van de resourceprovider komen af en toe niet overeen met de namen van de Azure-services waarvoor ze zijn, of ze zijn mogelijk oude product- of resourcenamen. De resourceprovider voor Log Analytics-werkruimten is bijvoorbeeld Microsoft.OperationalInsights
.
De documentatie voor de ARM-sjabloonsyntaxis van elk resourcetype is ingedeeld volgens de resourceprovider.
Resourceproviders moeten worden geregistreerd voor uw abonnement voordat u de resourcetypen kunt gebruiken die ze beschikbaar maken. Registratie is meestal een eenmalig proces. Wanneer u een Bicep-implementatie verzendt, registreert Resource Manager automatisch de resourceproviders die in het bestand worden gebruikt. U kunt ook een resourceprovider registreren met behulp van Azure Portal, de Azure CLI of Azure PowerShell.
Resourcetypen
Een resourceprovider maakt meerdere verschillende typen beschikbaar. Elk resourcetype heeft een eigen set eigenschappen en gedragingen die de resource definiëren en wat het kan doen. In de Microsoft.Web
resourceprovider zijn er bijvoorbeeld verschillende resourcetypen, waaronder:
-
sites
: Definieert een App Service-toepassing of Azure Functions-toepassing. Eigenschappen omvatten de omgevingsvariabelen die uw toepassing gebruikt en de ondersteunde protocollen (HTTP en HTTPS) voor toegang tot de toepassing. -
serverFarms
: Definieert een App Service-plan, de infrastructuur waarop uw toepassingen worden uitgevoerd. Eigenschappen omvatten de grootte en SKU van de servers en het aantal exemplaren van uw abonnement dat u wilt implementeren.
Wanneer u resources in Bicep definieert, moet u het resourcetype en de versie van de API van de resourceprovider opgeven die Bicep voor de resource moet gebruiken. Deze informatie helpt de Bicep-hulpprogramma's en de Resource Manager te begrijpen welke eigenschappen moeten worden opgegeven bij de resourcedefinitie.
Fooi
Het is een goed idee om een recente API-versie voor elke resource te gebruiken. Nieuwe functies in Azure-services zijn soms alleen beschikbaar in nieuwere API-versies.
U combineert de resourceprovider en de typenaam om een volledig gekwalificeerde resourcetypenaam te maken. De volledig gekwalificeerde typenaam bestaat uit de naam van de resourceprovider, een slash (/
) en het resourcetype. De volledig gekwalificeerde typenaam van een opslagaccount is bijvoorbeeld Microsoft.Storage/storageAccounts
. In dit geval is de naam van de resourceprovider Microsoft.Storage
en is het resourcetype storageAccounts
.
Bron-ID's
Elke Azure-resource heeft een unieke resource-id. Deze ID bevat informatie die helpt bij het onderscheiden van de resource van elke andere resource van hetzelfde type of zelfs van verschillende resources die dezelfde naam kunnen delen. Een resource-id voor een opslagaccount ziet er als volgt uit:
/subscriptions/A123b4567c-1234-1a2b-2b1a-1234abc12345/resourceGroups/ToyDevelopment/providers/Microsoft.Storage/storageAccounts/secrettoys
Laten we eens kijken naar een visuele weergave van dezelfde informatie:
U kunt zien dat een resource-id informatie bevat over het resourcetype en de specifieke resource die u hebt geïmplementeerd. Laten we deze voorbeeldresource-id opsplitsen in de onderdelen:
-
subscriptions/A123b4567c-1234-1a2b-2b1a-1234abc12345
geeft aan dat deze resource zich binnen het Azure-abonnement bevindt met id.A123b4567c-1234-1a2b-2b1a-1234abc12345
. -
resourceGroups/ToyDevelopment
geeft aan dat de resource zich in de resourcegroep bevindt met de naamToyDevelopment
. -
providers/Microsoft.Storage
geeft aan dat de resource een type van deMicrosoft.Storage
resourceprovider gebruikt. -
storageAccounts
is het hulpbrontype. -
secrettoys
is de naam van het opslagaccount.
Fooi
U hebt toegang tot de id van elke resource in Bicep met behulp van de symbolische naam en de eigenschap id
. Als u bijvoorbeeld een opslagaccount definieert met de symbolische naam toyDesignDocumentsStorageAccount
, hebt u toegang tot de resource-id met behulp van de expressie toyDesignDocumentsStorageAccount.id
.
Nu u de basisprincipes van resourcetypen en resource-id's begrijpt, gaan we kijken naar onderliggende resources.