Omówienie specyfikacji szablonu

Ukończone

Do tej pory używasz do wdrażania szablonów usługi Azure Resource Manager (szablonów usługi ARM) na platformie Azure przy użyciu kodu Bicep lub JSON. Utworzysz plik szablonu, a następnie prześlesz go na platformę Azure, tworząc wdrożenie. Usługa Azure Resource Manager organizuje tworzenie lub ponowne konfigurowanie zasobów.

Podczas pracy ze specyfikacjami szablonu nadal wysyłasz szablon na platformę Azure. Jednak zamiast go wdrażać, platforma Azure zapisuje ją do użycia w przyszłości. Następnie możesz wrócić później i poinformować platformę Azure o wdrożeniu specyfikacji szablonu. Możesz nawet wielokrotnie używać tej samej specyfikacji szablonu, aby wdrożyć więcej środowisk.

Dlaczego warto używać specyfikacji szablonu?

W firmie z toy utworzono wiele szablonów wielokrotnego użytku, w tym:

Nazwa szablonu opis
Konto magazynu Wdraża konto magazynu i wymusza uwierzytelnianie w usłudze Microsoft Entra.
Konto usługi Cosmos DB Wdraża konto usługi Azure Cosmos DB z włączoną ciągłą kopią zapasową.
Sieć wirtualna Wdraża sieć wirtualną, która ma właściwą konfigurację w celu komunikacji równorzędnej z główną siecią koncentratora.
Witryna internetowa dotycząca uruchamiania produktu Wdraża plan usługi aplikacja systemu Azure, aplikację i konto magazynu dla witryn internetowych, które udostępniają nowe zabawki.

Specyfikacje szablonów to doskonały sposób tworzenia biblioteki szablonów usługi ARM wielokrotnego użytku dla typowych scenariuszy w organizacji. Ekspert może utworzyć szablon ze wstępnie skonfigurowanym zasobem lub zestawem zasobów. Ten ekspert może następnie opublikować go jako specyfikację szablonu, umożliwiając innym osobom w organizacji jego wdrożenie.

Możesz użyć specyfikacji szablonu, aby upewnić się, że zasoby tworzone przez zespół są skonfigurowane zgodnie z wymaganiami. Można na przykład opublikować specyfikację szablonu, na przykład szablon konta magazynu, który opisano wcześniej. Następnie za każdym razem, gdy każda osoba w organizacji wdroży specyfikację szablonu, możesz mieć pewność, że utworzy konto magazynu z odpowiednimi ustawieniami uwierzytelniania.

Specyfikacje szablonów są przechowywane na platformie Azure, więc nie musisz samodzielnie obsługiwać udostępnionych plików szablonów. Możesz zarządzać osobami, które mogą używać i modyfikować specyfikacje szablonu za pomocą kontroli dostępu opartej na rolach platformy Azure. Bez specyfikacji szablonu musisz wybrać lokalizację magazynu, na przykład usługę Azure Storage, aby zachować pliki szablonów. Musisz również samodzielnie kontrolować dostęp.

Jak porównać specyfikacje szablonu z modułami Bicep?

Podczas pracy z Bicep można utworzyć moduły wielokrotnego użytku w celu zdefiniowania zestawów zasobów w jednym pliku. Specyfikacje szablonów i moduły Bicep to oba sposoby dodawania możliwości ponownego obsługi szablonów, ale są one zoptymalizowane pod kątem różnych elementów:

  • Specyfikacje szablonów są przeznaczone do wdrożenia jako kompletny szablon. Specyfikacje szablonu można wdrożyć przy użyciu witryny Azure Portal i narzędzi, takich jak interfejs wiersza polecenia platformy Azure i program Azure PowerShell. Moduły Bicep mają być łączone w większe wdrożenie. Jednak jeśli tworzysz specyfikację szablonu, Bicep umożliwia również używanie go jako modułu, jeśli chcesz.
  • Specyfikacje szablonu zapewniają możliwości kontroli dostępu i przechowywania wersji. Musisz samodzielnie zarządzać wersjami i zabezpieczeniami kodu Bicep.
  • Specyfikacje szablonów są przechowywane na platformie Azure jako zasób. Musisz przechowywać moduły Bicep w dowolnym miejscu, które kontrolujesz, na przykład system kontroli wersji, taki jak Git lub system plików.
  • Moduły Bicep zachowują cały oryginalny kod Bicep, w tym komentarze, nazwy symboliczne i białe znaki. Podczas tworzenia specyfikacji szablonu przy użyciu Bicep kod Bicep jest konwertowany na kod JSON, a niektóre z tych informacji zostaną utracone. Dlatego musisz zachować źródłowy plik Bicep gdzie indziej, jak również.

Podczas podejmowania decyzji między specyfikacjami szablonu i modułami Bicep dobrym rozwiązaniem jest: jeśli szablon zostanie wdrożony w całej organizacji, specyfikacje szablonu są prawdopodobnie dobrym rozwiązaniem. Jeśli jednak prawdopodobnie użyjesz tego szablonu w wielu szablonach nadrzędnych, moduły Bicep mogą lepiej spełniać Twoje potrzeby.

Jak działają specyfikacje szablonu

Specyfikacja szablonu to zasób platformy Azure, podobnie jak konto magazynu lub maszyna wirtualna. Należy go utworzyć w grupie zasobów, chociaż sam szablon może wdrażać zasoby w ramach subskrypcji, zarządzania lub zakresu dzierżawy.

Podczas pracy ze specyfikacjami szablonu tworzone są dwa zasoby:

  • Specyfikacja szablonu to zasób kontenera. Zawiera jedną lub wiele wersji.
  • Wersje specyfikacji szablonu zawierają rzeczywisty szablon do wdrożenia.

Pracujesz ze specyfikacjami i wersjami szablonu przy użyciu ich identyfikatorów zasobów. Oto przykładowy identyfikator zasobu specyfikacji szablonu:

/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/SharedTemplates/providers/Microsoft.Resources/templateSpecs/StorageWithoutSAS

Wersja to zasób podrzędny specyfikacji szablonu. Ma on identyfikator zasobu podobny do następującego przykładu:

/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/SharedTemplates/providers/Microsoft.Resources/templateSpecs/StorageWithoutSAS/versions/1.0

Podczas wdrażania specyfikacji szablonu należy określić identyfikator zasobu wersji specyfikacji szablonu.

Oto ilustracja przepływu pracy, który jest obserwowany podczas korzystania ze specyfikacji szablonu:

Diagram that shows the workflow for using template specs.

Utworzysz szablon w taki sposób, w jaki używasz tego szablonu. Nie ma żadnych specjalnych informacji na temat szablonu utworzonego dla specyfikacji szablonu. Zadeklarujesz zasoby, tworzysz parametry i zmienne, używasz funkcji itd.

Gdy szablon będzie gotowy, należy utworzyć zasób specyfikacji szablonu. Następnie opublikujesz szablon w specyfikacji szablonu jako wersję. Narzędzia używane do tworzenia specyfikacji szablonu umożliwiają wykonanie tych kroków w ramach jednej operacji. Specyfikacja szablonu jest przechowywana na platformie Azure jako zasób po jego opublikowaniu. Możesz go wyświetlać, edytować i kontrolować dostęp do niego tak samo jak każdy inny zasób platformy Azure. Specyfikację szablonu można opublikować na komputerze lokalnym lub z potoku wdrażania.

Za każdym razem, gdy chcesz wdrożyć specyfikację szablonu, odwołujesz się do identyfikatora zasobu wersji specyfikacji szablonu z wdrożenia. Można go wdrożyć w dowolnej grupie zasobów, a nawet w innej subskrypcji lub zakresie. Platforma Azure odczytuje specyfikację szablonu i używa jej jako szablonu wdrożenia.