Szybki start: tworzenie i wdrażanie specyfikacji szablonu za pomocą Bicep
Artykuł
W tym przewodniku Szybki start opisano sposób tworzenia i wdrażania specyfikacji szablonu przy użyciu pliku Bicep. Specyfikacja szablonu jest wdrażana w grupie zasobów, aby osoby w organizacji mogły wdrażać zasoby na platformie Microsoft Azure. Specyfikacje szablonów umożliwiają udostępnianie szablonów wdrażania bez konieczności zapewniania użytkownikom dostępu do zmiany pliku Bicep. Ten przykład specyfikacji szablonu używa pliku Bicep do wdrożenia konta magazynu.
Podczas tworzenia specyfikacji szablonu plik Bicep jest transpilowany w formacie JavaScript Object Notation (JSON). Specyfikacja szablonu używa formatu JSON do wdrażania zasobów platformy Azure. Obecnie nie można użyć witryny Microsoft Azure Portal do zaimportowania pliku Bicep i utworzenia zasobu specyfikacji szablonu.
Specyfikację szablonu można utworzyć na podstawie lokalnego pliku Bicep. Skopiuj poniższy przykład i zapisz go na komputerze jako main.bicep. W przykładach użyto ścieżki C:\templates\main.bicep. Możesz użyć innej ścieżki, ale musisz zmienić polecenia.
Poniższy plik Bicep jest używany na kartach programu PowerShell i interfejsu wiersza polecenia . Karta plik Bicep używa innego szablonu, który łączy kod Bicep i JSON w celu utworzenia i wdrożenia specyfikacji szablonu.
Specyfikacja szablonu to typ zasobu o nazwie Microsoft.Resources/templateSpecs. Aby utworzyć specyfikację szablonu, użyj interfejsu wiersza polecenia platformy Azure, programu Azure PowerShell lub pliku Bicep.
W tym przykładzie użyto nazwy templateSpecRGgrupy zasobów . Możesz użyć innej nazwy, ale musisz zmienić polecenia.
Specyfikację szablonu można utworzyć przy użyciu pliku Bicep, ale mainTemplate musi być w formacie JSON. Szablon JSON nie używa standardowej składni JSON. Na przykład nie ma przecinków końca wiersza, cudzysłowy podwójne są zastępowane pojedynczymi cudzysłowami, a ukośniki odwrotne (\) są używane do ucieczki pojedynczych cudzysłowów w wyrażeniach.
Skopiuj poniższy szablon i zapisz go na komputerze jako main.bicep.
az deployment group create \
--resource-group templateSpecRG \
--template-file "C:\templates\main.bicep"
Wdrażanie specyfikacji szablonu
Użyj specyfikacji szablonu, aby wdrożyć konto magazynu. W tym przykładzie użyto nazwy storageRGgrupy zasobów . Możesz użyć innej nazwy, ale musisz zmienić polecenia.
Należy podać parametry dokładnie tak, jak w przypadku wdrożenia pliku Bicep. Ponownie wdróż specyfikację szablonu przy użyciu parametru dla typu konta magazynu.
Istnieje znany problem z uzyskiwaniem identyfikatora specyfikacji szablonu i przypisywaniem go do zmiennej w programie Windows PowerShell.
Wdróż specyfikację szablonu.
az deployment group create \
--resource-group storageRG \
--template-spec $id
Należy podać parametry dokładnie tak, jak w przypadku wdrożenia pliku Bicep. Ponownie wdróż specyfikację szablonu przy użyciu parametru dla typu konta magazynu.
az deployment group create \
--resource-group storageRG \
--template-spec $id \
--parameters storageAccountType="Standard_GRS"
Aby wdrożyć specyfikację szablonu przy użyciu pliku Bicep, użyj modułu. Moduł łączy się z istniejącą specyfikacją szablonu. Aby uzyskać więcej informacji, zobacz plik w specyfikacji szablonu.
Skopiuj następujący moduł Bicep i zapisz go na komputerze jako storage.bicep.
Zastąp <subscriptionId> element w module. Użyj programu Azure PowerShell lub interfejsu wiersza polecenia platformy Azure, aby uzyskać identyfikator subskrypcji.
(Get-AzContext).Subscription.Id
az account show --query "id" --output tsv
Użyj programu Azure PowerShell lub interfejsu wiersza polecenia platformy Azure, aby utworzyć nową grupę zasobów dla konta magazynu.
az deployment group create \
--resource-group storageRG \
--template-file "C:\templates\storage.bicep"
Możesz dodać parametr i ponownie wdrożyć specyfikację szablonu przy użyciu innego typu konta magazynu. Skopiuj przykład i zastąp plik storage.bicep . Następnie ponownie wdróż wdrożenie specyfikacji szablonu.
Jeśli chcesz zezwolić innym użytkownikom w organizacji na wdrożenie specyfikacji szablonu, musisz udzielić im dostępu do odczytu. Rolę Czytelnik można przypisać do grupy Microsoft Entra dla grupy zasobów zawierającej specyfikacje szablonu, które chcesz udostępnić. Aby uzyskać więcej informacji, zobacz Samouczek: udzielanie grupie dostępu do zasobów platformy Azure przy użyciu programu Azure PowerShell.
Aktualizowanie pliku Bicep
Po utworzeniu specyfikacji szablonu podjęto decyzję o zaktualizowaniu pliku Bicep. Aby kontynuować pracę z przykładami na kartach programu PowerShell lub interfejsu wiersza polecenia , skopiuj przykład i zastąp plik main.bicep .
Parametr storageNamePrefix określa wartość prefiksu dla nazwy konta magazynu. Zmienna storageAccountName łączy prefiks z unikatowym ciągiem.
Zamiast tworzyć nową specyfikację szablonu dla poprawionego szablonu, dodaj nową wersję o nazwie 2.0 do istniejącej specyfikacji szablonu. Użytkownicy mogą wybrać wdrożenie jednej z tych wersji.
Zastąp <subscriptionId> element w module. Użyj programu Azure PowerShell lub interfejsu wiersza polecenia platformy Azure, aby uzyskać identyfikator subskrypcji.
(Get-AzContext).Subscription.Id
az account show --query "id" --output tsv
Wdróż specyfikację szablonu przy użyciu programu Azure PowerShell lub interfejsu wiersza polecenia platformy Azure.
az deployment group create \
--resource-group storageRG \
--template-file "C:\templates\storage.bicep"
Czyszczenie zasobów
Aby wyczyścić zasoby wdrożone w tym przewodniku Szybki start, usuń obie grupy zasobów. Grupa zasobów, specyfikacje szablonu i konta magazynu zostaną usunięte.
Użyj programu Azure PowerShell lub interfejsu wiersza polecenia platformy Azure, aby usunąć grupy zasobów.