Omówienie zasobów platformy Azure

Ukończone

Wszystkie zasoby platformy Azure są wdrażane z określonym typem. Typ identyfikuje rodzaj zasobu. Identyfikator zasobu to sposób, w jaki platforma Azure identyfikuje określone wystąpienie zasobu. Ważne jest, aby zrozumieć, jak typy zasobów i identyfikatory zasobów są ustrukturyzowane, ponieważ zawierają one ważne informacje podczas pisania szablonów Bicep.

Dostawcy zasobów

Usługa Azure Resource Manager została zaprojektowana tak, aby można było zarządzać wieloma różnymi dostawcami zasobów za pomocą interfejsów API usługi Resource Manager i szablonów usługi ARM. Dostawca zasobów to logiczne grupowanie typów zasobów, które zwykle odnoszą się do jednej lub kilku usług platformy Azure. Przykłady dostawców zasobów to:

  • Microsoft.Compute, który jest używany dla maszyn wirtualnych.
  • Microsoft.Network, który jest używany do obsługi zasobów sieciowych, takich jak sieci wirtualne, sieciowe grupy zabezpieczeń i tabele tras.
  • Microsoft.Cache, który jest używany w usłudze Azure Cache for Redis.
  • Microsoft.Sql, który jest używany w usłudze Azure SQL.
  • Microsoft.Web, który jest używany do aplikacja systemu Azure Service i Azure Functions.
  • Microsoft.DocumentDB, który jest używany w usłudze Azure Cosmos DB.

Uwaga

Nazwy dostawców zasobów i nazwy typów zasobów czasami nie są zgodne z nazwami usług platformy Azure, dla których są, lub mogą być starymi nazwami produktów lub zasobów. Na przykład dostawca zasobów dla obszarów roboczych usługi Log Analytics to Microsoft.OperationalInsights.

Dokumentacja składni szablonu arm każdego typu zasobu jest zorganizowana zgodnie z dostawcą zasobów.

Dostawcy zasobów muszą być zarejestrowani w ramach subskrypcji, zanim będzie można używać udostępnianych typów zasobów. Rejestracja jest zwykle procesem jednorazowym. Po przesłaniu wdrożenia Bicep usługa Resource Manager automatycznie rejestruje dostawców zasobów używanych w pliku. Możesz również zarejestrować dostawcę zasobów przy użyciu witryny Azure Portal, interfejsu wiersza polecenia platformy Azure lub programu Azure PowerShell.

Typy zasobów

Dostawca zasobów uwidacznia wiele różnych typów. Każdy typ zasobu ma własny zestaw właściwości i zachowań, które definiują zasób i co może zrobić. Na przykład w ramach Microsoft.Web dostawcy zasobów istnieje kilka typów zasobów, w tym:

  • sites: definiuje aplikację usługi App Service lub aplikację usługi Azure Functions. Właściwości obejmują zmienne środowiskowe używane przez aplikację oraz obsługiwane protokoły (HTTP i HTTPS) w celu uzyskania dostępu do aplikacji.
  • serverFarms: definiuje plan usługi App Service— infrastrukturę, która uruchamia aplikacje. Właściwości obejmują rozmiar i jednostkę SKU serwerów oraz liczbę wystąpień planu, które chcesz wdrożyć.

Podczas definiowania zasobów w środowisku Bicep należy określić ich typ zasobu i wersję interfejsu API dostawcy zasobów, który ma być używany przez Bicep dla zasobu. Te informacje pomagają narzędziom Bicep i usłudze Resource Manager zrozumieć, które właściwości powinny być dostarczane z definicją zasobu.

Napiwek

Dobrym pomysłem jest użycie najnowszej wersji interfejsu API dla każdego zasobu. Nowe funkcje w usługach platformy Azure są czasami dostępne tylko w nowszych wersjach interfejsu API.

Łączysz dostawcę zasobów i nazwę typu, aby utworzyć w pełni kwalifikowaną nazwę typu zasobu. W pełni kwalifikowana nazwa typu składa się z nazwy dostawcy zasobów, ukośnika (/) i typu zasobu. Na przykład w pełni kwalifikowana nazwa typu konta magazynu to Microsoft.Storage/storageAccounts. W tym przypadku jego nazwa dostawcy zasobów to Microsoft.Storage, a typ zasobu to storageAccounts.

Identyfikatory zasobów

Każdy zasób platformy Azure ma unikatowy identyfikator zasobu. Ten identyfikator zawiera informacje ułatwiające uściślanie zasobu z dowolnego innego zasobu tego samego typu, a nawet z różnych zasobów, które mogą mieć taką samą nazwę. Identyfikator zasobu dla konta magazynu wygląda następująco:

/subscriptions/A123b4567c-1234-1a2b-2b1a-1234abc12345/resourceGroups/ToyDevelopment/providers/Microsoft.Storage/storageAccounts/secrettoys

Przyjrzyjmy się wizualnej reprezentacji tych samych informacji:

Identyfikator zasobu dla konta magazynu podzielony na parę klucz/wartość w osobnym wierszu.

Widać, że identyfikator zasobu zawiera informacje o typie zasobu i określonym wdrożonym zasobie. Podzielmy ten przykładowy identyfikator zasobu na jego składniki:

  • subscriptions/A123b4567c-1234-1a2b-2b1a-1234abc12345 wskazuje, że ten zasób należy do subskrypcji platformy Azure o identyfikatorze. A123b4567c-1234-1a2b-2b1a-1234abc12345.
  • resourceGroups/ToyDevelopment wskazuje, że zasób znajduje się w grupie zasobów o nazwie ToyDevelopment.
  • providers/Microsoft.Storage wskazuje, że zasób używa typu od dostawcy Microsoft.Storage zasobów.
  • storageAccounts jest typem zasobu.
  • secrettoys to nazwa konta magazynu.

Napiwek

Możesz uzyskać dostęp do identyfikatora dowolnego zasobu w aplikacji Bicep przy użyciu nazwy symbolicznej id i właściwości . Jeśli na przykład zdefiniujesz konto magazynu o nazwie toyDesignDocumentsStorageAccountsymbolicznej , możesz uzyskać dostęp do jego identyfikatora zasobu przy użyciu wyrażenia toyDesignDocumentsStorageAccount.id.

Teraz, gdy znasz podstawy typów zasobów i identyfikatorów zasobów, przyjrzyjmy się zasobom podrzędnym.