Udostępnij za pośrednictwem


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ę, bezpieczeństwo niezawodnego typu i obsługę ponownego użycia kodu. Bicep oferuje najwyższej klasy środowisko tworzenia 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żywać w pliku Bicep. Nie musisz czekać na zaktualizowanie narzędzi przed użyciem nowych usług.

  • 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 zasobów 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@2023-04-01' = {
      name: storageAccountName
      location: location
      sku: {
        name: 'Standard_LRS'
      }
      kind: 'StorageV2'
      properties: {
        accessTier: 'Hot'
      }
    }
    

  • Środowisko tworzenia: jeśli używasz rozszerzenia Bicep dla programu VS Code do tworzenia plików Bicep, uzyskasz najwyższej klasy środowisko tworzenia. Edytor zapewnia zaawansowane bezpieczeństwo 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 projektowania 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 opracować jeden plik reprezentujący żądany stan, zamiast opracowywać wiele oddzielnych plików do reprezentowania aktualizacji. Na przykład poniższy plik tworzy konto magazynu. W przypadku wdrożenia tego szablonu i konta magazynu z określonymi właściwościami już istnieje , nie zostaną wprowadzone żadne zmiany.

    param location string = resourceGroup().location
    
    resource mystore 'Microsoft.Storage/storageAccounts@2023-04-01' = {
      name: 'mystorageaccount'
      location: location
      sku: {
        name: 'Standard_LRS'
      }
      kind: 'StorageV2'
    }
    

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

    Porównanie wdrożeń Bicep

  • Modułowość: możesz podzielić kod Bicep 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żywanie kodu i uproszczenie programowania. Dodaj moduł do pliku Bicep w dowolnym momencie, w którym musisz wdrożyć te zasoby.

  • Integracja z usługami platformy Azure: Bicep jest zintegrowany z usługami platformy Azure, takimi jak Azure Policy, specyfikacje szablonu i strategie.

  • Podgląd zmian: możesz użyć operacji analizy co-jeżeli, aby uzyskać podgląd zmian przed wdrożeniem pliku Bicep. W przypadku analizy co-jeżeli zobaczysz, które zasoby zostaną utworzone, zaktualizowane lub usunięte, oraz wszelkie właściwości zasobów, 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 aktualizacje są obsługiwane zgodnie z oczekiwaniami.

  • Bez kosztów i oprogramowania 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.

Rozpocznij

Aby rozpocząć pracę z językiem Bicep:

  1. Zainstaluj narzędzia. Zobacz Konfigurowanie środowisk deweloperskich i wdrożeniowych języka 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 zdekompilować istniejący szablon usługi ARM do języka Bicep, zobacz Dekompilowanie pliku JSON szablonu usługi ARM do języka Bicep. Możesz użyć placu zabaw Bicep do wyświetlenia Bicep i równoważnego kodu JSON obok siebie.

Aby dowiedzieć się więcej o zasobach dostępnych w pliku Bicep, zobacz Bicep resource reference (Dokumentacja zasobów 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 konieczności pisania sekwencji poleceń programowania w celu utworzenia zasobów.

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

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

Możesz użyć Bicep zamiast JSON do tworzenia szablonów usługi Azure Resource Manager (szablonów usługi ARM). Składnia JSON służąca do tworzenia szablonu usługi ARM może być szczegółowa i wymagać skomplikowanych wyrażeń. Składnia Bicep zmniejsza złożoność i poprawia środowisko programistyczne. 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 plikiem 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. Można uniknąć ustawienia 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

Rozpocznij pracę z przewodnikiem Szybki start.

Odpowiedzi na często zadawane pytania można znaleźć w temacie Często zadawane pytania dotyczące Bicep.