Co to jest Bicep?

Bicep to język specyficzny dla domeny (DSL), który używa składni deklaratywnej do wdrażania zasobów platformy Azure. W pliku Bicep zdefiniujesz infrastrukturę, którą chcesz wdrożyć na platformie Azure, a następnie użyjesz tego pliku w całym cyklu życia programowania, aby wielokrotnie wdrażać infrastrukturę. Zasoby są wdrażane w spójny sposób.

Bicep zapewnia zwięzłą składnię, niezawodne bezpieczeństwo typów i obsługę ponownego użycia kodu. Bicep oferuje najwyższej klasy środowisko tworzenia dla rozwiązań infrastruktury jako kodu na platformie Azure.

Zalety Bicep

Bicep zapewnia następujące korzyści:

  • Obsługa wszystkich typów zasobów i wersji interfejsu API: Bicep natychmiast obsługuje wszystkie wersje zapoznawcze i ogólnie dostępne dla usług platformy Azure. Gdy tylko dostawca zasobów wprowadza nowe typy zasobów i wersje interfejsu API, można ich użyć w pliku Bicep. Przed użyciem nowych usług nie trzeba czekać na zaktualizowanie narzędzi.

  • Prosta składnia: w porównaniu z równoważnym szablonem JSON pliki Bicep są bardziej zwięzłe i łatwiejsze do odczytania. Bicep nie wymaga wcześniejszej wiedzy na temat języków programowania. Składnia Bicep jest deklaratywna i określa, które zasoby i właściwości zasobu chcesz wdrożyć.

    W poniższych przykładach przedstawiono różnicę między plikiem Bicep a równoważnym szablonem JSON. Oba przykłady wdrażają konto magazynu.

    param location string = resourceGroup().location
    param storageAccountName string = 'toylaunch${uniqueString(resourceGroup().id)}'
    
    resource storageAccount 'Microsoft.Storage/storageAccounts@2021-06-01' = {
      name: storageAccountName
      location: location
      sku: {
        name: 'Standard_LRS'
      }
      kind: 'StorageV2'
      properties: {
        accessTier: 'Hot'
      }
    }
    

  • Środowisko tworzenia: gdy używasz rozszerzenia Bicep dla programu VS Code do tworzenia plików Bicep, uzyskasz środowisko tworzenia pierwszej klasy. Edytor zapewnia zaawansowane zabezpieczenia typów, funkcję intellisense i walidację składni.

    Przykład tworzenia plików Bicep

    Możesz również utworzyć pliki Bicep w programie Visual Studio za pomocą rozszerzenia Bicep dla programu Visual Studio.

  • Powtarzalne wyniki: Wielokrotnie wdrażaj infrastrukturę w całym cyklu życia programowania i masz pewność, że zasoby są wdrażane w spójny sposób. Pliki Bicep są idempotentne, co oznacza, że można wdrożyć ten sam plik wiele razy i uzyskać te same typy zasobów w tym samym stanie. Można utworzyć jeden plik, który reprezentuje żądany stan, zamiast opracowywać wiele oddzielnych plików do reprezentowania aktualizacji.

  • Orkiestracja: nie musisz martwić się o złożoność operacji porządkowania. Resource Manager organizuje wdrażanie współzależnych zasobów, aby były tworzone w odpowiedniej kolejności. Jeśli to możliwe, Resource Manager wdraża zasoby równolegle, dzięki czemu wdrożenia zakończą się szybciej niż wdrożenia szeregowe. Plik jest wdrażany za pomocą jednego polecenia, a nie za pomocą wielu poleceń imperatywnych.

    Porównanie wdrożenia Bicep

  • Modułowość: kod Bicep można podzielić na części możliwe do zarządzania przy użyciu modułów. Moduł wdraża zestaw powiązanych zasobów. Moduły umożliwiają ponowne użycie kodu i uproszczenie programowania. Dodaj moduł do pliku Bicep w dowolnym momencie, w którym trzeba wdrożyć te zasoby.

  • Integracja z usługami platformy Azure: Bicep jest zintegrowana z usługami platformy Azure, takimi jak Azure Policy, specyfikacje szablonów i strategie.

  • Zmiany w wersji zapoznawczej: możesz użyć operacji analizy warunkowej , aby uzyskać podgląd zmian przed wdrożeniem pliku Bicep. W przypadku analizy warunkowej zobaczysz, które zasoby zostaną utworzone, zaktualizowane lub usunięte oraz wszelkie właściwości zasobu, które zostaną zmienione. Operacja analizy co-jeżeli sprawdza bieżący stan środowiska i eliminuje konieczność zarządzania stanem.

  • Brak plików stanu lub stanu do zarządzania: cały stan jest przechowywany na platformie Azure. Użytkownicy mogą współpracować i mieć pewność, że ich aktualizacje są obsługiwane zgodnie z oczekiwaniami.

  • Bez kosztów i open source: Bicep jest całkowicie bezpłatny. Nie musisz płacić za możliwości premium. Jest ona również obsługiwana przez pomoc techniczną firmy Microsoft.

Rozpoczęcie pracy

Aby rozpocząć od Bicep:

  1. Zainstaluj narzędzia. Zobacz Konfigurowanie środowisk deweloperskich i wdrożeniowych Bicep. Możesz też użyć repozytorium Devcontainer/Codespaces programu VS Code , aby uzyskać wstępnie skonfigurowane środowisko tworzenia.
  2. Ukończ przewodnik Szybki start i moduły Learn dla aplikacji Bicep.

Aby dekompilować istniejący szablon usługi ARM do Bicep, zobacz Decompiling ARM template JSON to Bicep (Decompiling ARM template JSON to Bicep). Możesz użyć placu zabaw Bicep , aby wyświetlić Bicep i równoważny kod JSON obok siebie.

Aby dowiedzieć się więcej o zasobach dostępnych w pliku Bicep, zobacz Bicep resource reference (Dokumentacja zasobu Bicep)

Przykłady Bicep można znaleźć w repozytorium GitHub Bicep

Informacje o języku

Bicep nie jest przeznaczony jako ogólny język programowania do pisania aplikacji. Plik Bicep deklaruje zasoby i właściwości zasobów platformy Azure bez pisania sekwencji poleceń programowania w celu utworzenia zasobów.

Aby śledzić stan pracy Bicep, zobacz repozytorium projektu Bicep.

Aby dowiedzieć się więcej o aplikacji Bicep, zobacz poniższy film wideo.

Zamiast kodu JSON można użyć Bicep do tworzenia szablonów usługi Azure Resource Manager (szablonów usługi ARM). Składnia JSON do utworzenia szablonu usługi ARM może być pełne i wymagać skomplikowanych wyrażeń. Składnia Bicep zmniejsza złożoność i poprawia środowisko deweloperskie. Bicep to przezroczysta abstrakcja w formacie JSON szablonu usługi ARM i nie traci żadnych funkcji szablonu JSON. Podczas wdrażania interfejs wiersza polecenia Bicep konwertuje plik Bicep na kod JSON szablonu usługi ARM.

Typy zasobów, wersje interfejsu API i właściwości prawidłowe w szablonie usługi ARM są prawidłowe w pliku Bicep.

Bicep oferuje prostszą i bardziej zwięzłą składnię w porównaniu z równoważnym kodem JSON. Nie używasz wyrażeń w nawiasach kwadratowych [...]. Zamiast tego bezpośrednio wywołujesz funkcje i pobierasz wartości z parametrów i zmiennych. Każdy wdrożony zasób ma nazwę symboliczną, co ułatwia odwołowanie się do tego zasobu w szablonie.

Aby uzyskać pełne porównanie składni, zobacz Porównanie kodu JSON i Bicep dla szablonów.

Bicep automatycznie zarządza zależnościami między zasobami. Ustawienie można uniknąć dependsOn , gdy symboliczna nazwa zasobu jest używana w innej deklaracji zasobu.

Struktura pliku Bicep jest bardziej elastyczna niż szablon JSON. Parametry, zmienne i dane wyjściowe można zadeklarować w dowolnym miejscu w pliku. W formacie JSON należy zadeklarować wszystkie parametry, zmienne i dane wyjściowe w odpowiednich sekcjach szablonu.

Następne kroki

Wprowadzenie do przewodnika Szybki start.

Aby uzyskać odpowiedzi na często zadawane pytania, zobacz Często zadawane pytania dotyczące Bicep.