Förstå Azure-resurser

Slutförd

Alla Azure-resurser distribueras med en viss 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.

Resursproviders

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.

Kommentar

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 Microsoft.OperationalInsightstill exempel .

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 resursprovider exponerar flera olika typer. Varje resurstyp har en egen uppsättning egenskaper och beteenden som definierar resursen och vad den kan göra. Inom resursprovidern Microsoft.Web 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.

Dricks

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 Microsoft.Storage/storageAccountstill exempel . I det här fallet är Microsoft.Storageresursproviderns namn , och resurstypen är storageAccounts.

Resurs-ID:t

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:

Resurs-ID för ett lagringskonto, delat med nyckel/värde-par på en separat rad.

Du kan se att ett resurs-ID mellanläser information om resurstypen och den specifika resurs som du distribuerade. 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 namnet ToyDevelopment.
  • providers/Microsoft.Storage anger att resursen använder en typ från resursprovidern Microsoft.Storage .
  • storageAccounts är resurstypen.
  • secrettoys är namnet på lagringskontot.

Dricks

Du kan komma åt ID:t för alla resurser i Bicep med hjälp av det symboliska namnet och id egenskapen. Om du till exempel definierar ett lagringskonto med det symboliska namnet toyDesignDocumentsStorageAccountkan du komma åt dess resurs-ID med hjälp av uttrycket toyDesignDocumentsStorageAccount.id.

Nu när du förstår grunderna för resurstyper och resurs-ID:n ska vi titta på underordnade resurser.