Förstå Azure-resurser
Alla Azure-resurser distribueras med en specifik typ. Typen identifierar vilken typ av resurs det är. Ett resurs-ID är det sätt som Azure identifierar en specifik instans av en resurs. Det är viktigt att förstå hur resurstyper och resurs-ID:n är strukturerade, eftersom de ger dig viktig information när du skriver Bicep-mallar.
Resursleverantörer
Azure Resource Manager är utformat så att många olika resursprovidrar kan hanteras via Resource Manager-API:er och ARM-mallar. En resursprovider är en logisk gruppering av resurstyper, som vanligtvis relaterar till en eller några Azure-tjänster. Exempel på resursprovidrar är:
-
Microsoft.Compute
, som används för virtuella datorer. -
Microsoft.Network
, som används för nätverksresurser som virtuella nätverk, nätverkssäkerhetsgrupper och routningstabeller. -
Microsoft.Cache
, som används för Azure Cache for Redis. -
Microsoft.Sql
, som används för Azure SQL. -
Microsoft.Web
, som används för Azure App Service och Azure Functions. -
Microsoft.DocumentDB
, som används för Azure Cosmos DB.
Obs
Resursproviderns namn och resurstypnamn matchar ibland inte namnen på de Azure-tjänster de är för, eller så kan de vara gamla produkt- eller resursnamn. Resursprovidern för Log Analytics-arbetsytor är till exempel Microsoft.OperationalInsights
.
Den dokumentationen för varje resurstyps ARM-mallsyntax ordnas enligt resursprovidern.
Resursprovidrar måste registreras för din prenumeration innan du kan använda de resurstyper som de exponerar. Registrering är vanligtvis en engångsprocess. När du skickar en Bicep-distribution registrerar Resource Manager automatiskt de resursprovidrar som används i filen. Du kan också registrera en resursprovider med hjälp av Azure-portalen, Azure CLI eller Azure PowerShell.
Resurstyper
En resursleverantör exponerar flera olika typer. Varje resurstyp har en egen uppsättning egenskaper och beteenden som definierar resursen och vad den kan göra. Inom Microsoft.Web
resursprovider finns det till exempel flera resurstyper, bland annat:
-
sites
: Definierar ett App Service-program eller Azure Functions-program. Egenskaperna omfattar miljövariabler som programmet använder och protokoll som stöds (HTTP och HTTPS) för att få åtkomst till programmet. -
serverFarms
: Definierar en App Service-plan, infrastrukturen som kör dina program. Egenskaperna omfattar storleken och SKU:n för servrarna och antalet instanser av din plan som du vill distribuera.
När du definierar resurser i Bicep måste du ange deras resurstyp och den version av resursproviderns API som du vill att Bicep ska använda för resursen. Den här informationen hjälper Bicep-verktyget och Resource Manager att förstå vilka egenskaper som ska tillhandahållas med resursdefinitionen.
Tips
Det är en bra idé att använda en ny API-version för varje resurs. Nya funktioner i Azure-tjänster är ibland endast tillgängliga i nyare API-versioner.
Du kombinerar resursprovidern och typnamnet för att skapa ett fullständigt kvalificerat resurstypsnamn. Det fullständigt kvalificerade typnamnet består av resursproviderns namn, ett snedstreck (/
) och resurstypen. Ett lagringskontos fullständigt kvalificerade typnamn är till exempel Microsoft.Storage/storageAccounts
. I det här fallet är resursproviderns namn Microsoft.Storage
och resurstypen är storageAccounts
.
Resurs-ID
Varje Azure-resurs har ett unikt resurs-ID. Det här ID:t innehåller information som gör det enklare att skilja resursen från andra resurser av samma typ, eller till och med från olika resurser som kan dela samma namn. Ett resurs-ID för ett lagringskonto ser ut så här:
/subscriptions/A123b4567c-1234-1a2b-2b1a-1234abc12345/resourceGroups/ToyDevelopment/providers/Microsoft.Storage/storageAccounts/secrettoys
Nu ska vi titta på en visuell representation av samma information:
Du kan se att ett resurs-ID sammanflätar information om resurstypen och den specifika resursen som du har distribuerat. Nu ska vi dela upp det här exempelresurs-ID:t i dess komponenter:
-
subscriptions/A123b4567c-1234-1a2b-2b1a-1234abc12345
anger att den här resursen finns i Azure-prenumerationen med ID.A123b4567c-1234-1a2b-2b1a-1234abc12345
. -
resourceGroups/ToyDevelopment
anger att resursen finns i resursgruppen med namnetToyDevelopment
. -
providers/Microsoft.Storage
anger att resursen använder en typ frånMicrosoft.Storage
resursprovider. -
storageAccounts
är resurstypen. -
secrettoys
är namnet på lagringskontot.
Tips
Du kan komma åt ID:t för alla resurser i Bicep med hjälp av det symboliska namnet och egenskapen id
. Om du till exempel definierar ett lagringskonto med det symboliska namnet toyDesignDocumentsStorageAccount
kan du komma åt dess resurs-ID med hjälp av uttrycket toyDesignDocumentsStorageAccount.id
.
Nu när du har förstått grunderna i resurstyper och resurs-ID:n, låt oss titta på underordnade resurser.