Co to jest Bicep?
Teraz, gdy twój zespół rozumie, jak działa usługa Azure Resource Manager, decydujesz się na użycie szablonów usługi ARM na potrzeby aprowizacji zasobów. Wiesz, że szablony usługi ARM można pisać na dwa różne sposoby: przy użyciu formatu JSON lub Bicep. Chcesz dowiedzieć się więcej na temat szablonów Bicep, aby móc podjąć świadomą decyzję o tym, który język ma być używany.
W tej lekcji poznasz język szablonu Bicep i korzyści, jakie zapewnia tworzenie szablonów.
Język Bicep
Bicep to język szablonu usługi Resource Manager używany do deklaratywnego wdrażania zasobów platformy Azure. Bicep jest przeznaczony dla określonego scenariusza lub domeny, co sprawia, że jest to język specyficzny dla domeny. Bicep nie ma być używany jako standardowy język programowania do pisania aplikacji. Bicep służy tylko do tworzenia szablonów usługi Resource Manager. Bicep ma być łatwy do zrozumienia i łatwego w nauce, niezależnie od doświadczenia z innymi językami programowania. Wszystkie typy zasobów, wersje interfejsu API i właściwości są prawidłowe w szablonach Bicep.
Uwaga
Jeśli wcześniej zapoznano się z użyciem szablonów JSON, być może zauważysz, że Bicep upraszcza środowisko tworzenia szablonu. Zapewnia składnię, która jest łatwiejsza do zrozumienia, lepsza obsługa modułowości i kodu wielokrotnego użytku oraz ulepszone bezpieczeństwo typów. Tworzenie szablonu usługi ARM w formacie JSON wymaga skomplikowanych wyrażeń, a końcowy wynik może być pełny.
Zalety Bicep
Bicep zapewnia wiele ulepszeń w formacie JSON na potrzeby tworzenia szablonów, w tym:
Prostsza składnia: Bicep zapewnia prostszą składnię do pisania szablonów. Parametry i zmienne można odwoływać się bezpośrednio bez używania skomplikowanych funkcji. Interpolacja ciągów jest używana zamiast łączenia w celu łączenia wartości nazw i innych elementów. Właściwości zasobu można odwoływać się bezpośrednio przy użyciu jego symbolicznej nazwy zamiast złożonych instrukcji referencyjnych. Te ulepszenia składni ułatwiają tworzenie i odczytywanie szablonów Bicep.
Moduły: złożone wdrożenia szablonów można podzielić na mniejsze pliki modułów i odwoływać się do nich w głównym szablonie. Te moduły zapewniają łatwiejsze zarządzanie i większą możliwość ponownego zastosowania. Moduły można nawet udostępniać zespołowi.
Automatyczne zarządzanie zależnościami: w większości sytuacji Bicep automatycznie wykrywa zależności między zasobami. Ten proces usuwa niektóre prace związane z tworzeniem szablonów.
Walidacja typów i funkcja IntelliSense: rozszerzenie Bicep dla programu Visual Studio Code oferuje zaawansowaną walidację i funkcję IntelliSense dla wszystkich definicji interfejsu API typu zasobów platformy Azure. Ta funkcja ułatwia tworzenie.
Zapoznaj się z poniższym przykładem szablonu Bicep definiującego konto usługi Azure Storage. Szablon automatycznie generuje nazwę konta magazynu. Po wdrożeniu identyfikator zasobu jest zwracany jako dane wyjściowe dla użytkownika, który wykonuje szablon.
param location string = resourceGroup().location
param namePrefix string = 'storage'
var storageAccountName = '${namePrefix}${uniqueString(resourceGroup().id)}'
var storageAccountSku = 'Standard_RAGRS'
resource storageAccount 'Microsoft.Storage/storageAccounts@2023-05-01' = {
name: storageAccountName
location: location
kind: 'StorageV2'
sku: {
name: storageAccountSku
}
properties: {
accessTier: 'Hot'
supportsHttpsTrafficOnly: true
}
}
output storageAccountId string = storageAccount.id