Udostępnij za pośrednictwem


Szybki start: tworzenie plików Bicep za pomocą programu Visual Studio Code

Szybki start prowadzi przez proces tworzenia pliku Bicep przy użyciu programu Visual Studio Code. Utworzysz sieć wirtualną i konto przechowywania. Dowiesz się również, jak rozszerzenie Bicep zapewnia bezpieczeństwo typów, walidację składni i autouzupełnianie w celu uproszczenia programowania.

Program Visual Studio obsługuje podobne środowisko tworzenia. Aby uzyskać więcej informacji, zobacz Szybki start: tworzenie plików Bicep za pomocą programu Visual Studio .

Wymagania wstępne

Jeśli nie masz subskrypcji platformy Azure, przed rozpoczęciem utwórz bezpłatne konto .

Aby skonfigurować środowisko na potrzeby programowania aplikacji Bicep, zobacz Instalowanie narzędzi Bicep. Po wykonaniu tych kroków masz zainstalowany program Visual Studio Code i rozszerzenie Bicep. Masz również najnowszą wersję interfejsu wiersza polecenia platformy Azure lub moduł azure PowerShell.

Dodawanie fragmentu kodu zasobu

Program Visual Studio Code z rozszerzeniem Bicep udostępnia wstępnie zdefiniowane fragmenty kodu w celu uproszczenia programowania. W tym przewodniku szybkiego startu dodasz fragment kodu, który tworzy sieć wirtualną.

Uruchom program Visual Studio Code i utwórz nowy plik o nazwie main.bicep. W pliku main.bicep wpisz vnet, wybierz pozycję res-vnet z listy, a następnie naciśnij TAB lub ENTER.

Zrzut ekranu przedstawiający dodawanie fragmentu kodu dla sieci wirtualnej.

Napiwek

Jeśli nie widzisz tych opcji IntelliSense w programie Visual Studio Code, upewnij się, że zainstalowałeś rozszerzenie Bicep zgodnie z podanymi wymaganiami wstępnymi. Jeśli rozszerzenie zostało zainstalowane, daj usłudze językowej Bicep trochę czasu na uruchomienie po otwarciu pliku Bicep. Zwykle zaczyna się szybko i nie będziesz mieć opcji IntelliSense do momentu jego uruchomienia. Powiadomienie w prawym dolnym rogu wskazuje, że usługa jest uruchamiana. Gdy to powiadomienie zniknie, usługa jest uruchomiona.

Plik Bicep zawiera teraz następujący kod:

resource virtualNetwork 'Microsoft.Network/virtualNetworks@2019-11-01' = {
  name: 'name'
  location: location
  properties: {
    addressSpace: {
      addressPrefixes: [
        '10.0.0.0/16'
      ]
    }
    subnets: [
      {
        name: 'Subnet-1'
        properties: {
          addressPrefix: '10.0.0.0/24'
        }
      }
      {
        name: 'Subnet-2'
        properties: {
          addressPrefix: '10.0.1.0/24'
        }
      }
    ]
  }
}

W tym fragmencie kodu znajdziesz wszystkie niezbędne wartości do zdefiniowania sieci wirtualnej. Możesz zauważyć dwa krzywe podkreślenia. Żółty oznacza ostrzeżenie związane z nieaktualną wersją interfejsu API, a czerwone podkreślenie oznacza błąd spowodowany brakującą definicją parametru. Narzędzie lintera Bicep sprawdza pliki Bicep pod kątem błędów składni i naruszeń dobrych praktyk. Umieść kursor na obszarze @2019-11-01, i pojawi się okienko podręczne, pokazujące Użyj nowszej wersji interfejsu API dla elementu 'Microsoft.Network/virtualNetworks'. Wybierz pozycję Szybkie rozwiązanie w okienku podręcznym, a następnie wybierz pozycję Zamień na 2024-05-01, aby uaktualnić wersję API.

Alternatywnie usuń element @2019-11-01, i zastąp go ciągiem @. Wybierz najnowszą wersję interfejsu API.

Zrzut ekranu przedstawiający aktualizowanie wersji interfejsu API.

Naprawisz błąd brakującej definicji parametru w następnej sekcji.

Możesz również zmodyfikować ten kod, aby spełnić wymagania. Na przykład ponieważ name nie jest wyraźną nazwą sieci wirtualnej, możesz zmienić name właściwość na exampleVnet:

name: 'exampleVNet'

Dodawanie parametru

Fragment kodu, który dodałeś w ostatniej sekcji, nie zawiera definicji parametru location, jak wskazuje czerwona falista linia podkreślenia. W górnej części pliku dodaj:

param location

Po dodaniu miejsca po lokalizacji zwróć uwagę, że funkcja IntelliSense oferuje typy danych, które są dostępne dla parametru. Wybierz ciąg.

Zrzut ekranu przedstawiający dodawanie typu ciągu do parametru.

Nadaj parametrowi wartość domyślną:

param location string = resourceGroup().location

Poprzedni wiersz przypisuje lokalizację grupy zasobów do zasobu sieci wirtualnej. Aby uzyskać więcej informacji na temat funkcji używanej w wartości domyślnej, zobacz resourceGroup().

W górnej części pliku dodaj kolejny parametr dla nazwy konta magazynu (który utworzysz później w przewodniku 'Szybki start') z wartością domyślną:

param storageAccountName string = 'store${uniqueString(resourceGroup().id)}'

Aby uzyskać więcej informacji, zobacz Interpolacja i uniqueString().

Ten parametr działa prawidłowo, ale konta magazynowe mają limity długości nazwy. Nazwa musi zawierać co najmniej 3 i nie więcej niż 24 znaki. Te wymagania można określić, dodając dekoratory do parametru .

Dodaj wiersz powyżej parametru i wpisz @. Zobaczysz dostępne dekoratory. Zwróć uwagę, że istnieją dekoratory zarówno dla minLength i maxLength.

Zrzut ekranu przedstawiający dodawanie dekoratorów do parametru.

Dodaj zarówno dekoratory, jak i określ limity znaków (np. 3 i 24 poniżej):

@minLength(3)
@maxLength(24)
param storageAccountName string = 'store${uniqueString(resourceGroup().id)}'

Możesz również dodać opis parametru. Dołącz informacje ułatwiające osobom wdrażającym plik Bicep, aby zrozumieć, którą wartość należy podać:

@minLength(3)
@maxLength(24)
@description('Provide a name for the storage account. Use only lowercase letters and numbers. The name must be unique across Azure.')
param storageAccountName string = 'store${uniqueString(resourceGroup().id)}'

Parametry są gotowe do użycia.

Dodaj zasób

Zamiast używać fragmentu skryptu do zdefiniowania konta przechowywania, użyj funkcji IntelliSense, aby ustawić wartości. Funkcja IntelliSense ułatwia ten krok w porównaniu z ręcznym wpisywaniem wartości.

Aby zdefiniować zasób, użyj słowa kluczowego resource . Poniżej swojej sieci wirtualnej wpisz zasób storageAccount:

resource storageAccount

storageAccount to symboliczna nazwa wdrażanego zasobu. Możesz użyć tej nazwy, aby odwołać się do zasobu w innych częściach pliku Bicep.

Po dodaniu spacji po nazwie symbolicznej zostanie wyświetlona lista typów zasobów. Kontynuuj wpisywanie storageacc, dopóki nie będzie można wybrać go z dostępnych opcji.

Zrzut ekranu przedstawiający wybieranie kont magazynowych dla typu zasobu.

Po wybraniu pozycji Microsoft.Storage/storageAccounts zostaną wyświetlone dostępne wersje interfejsu API. Wybierz najnowszą wersję. Na poniższym zrzucie ekranu znajduje się 2023-05-01.

Zrzut ekranu przedstawiający wybieranie wersji interfejsu API dla typu zasobu.

Po pojedynczym cudzysłowie dla typu zasobu dodaj = i spację. Zostaną wyświetlone opcje dodawania właściwości do zasobu. Wybierz required-properties.

Zrzut ekranu przedstawiający dodawanie wymaganych właściwości.

Ta opcja dodaje wszystkie właściwości typu zasobu, które są wymagane do wdrożenia. Po wybraniu tej opcji konto magazynu ma następujące właściwości:

resource storageAccount 'Microsoft.Storage/storageAccounts@2023-05-01' = {
  name:
  location:
  sku: {
    name:
  }
  kind:
}

Prawie wszystko jest gotowe, a następnym krokiem jest podanie wartości dla tych właściwości.

Ponownie funkcja IntelliSense pomaga Ci. Ustaw name na storageAccountName, czyli parametr zawierający nazwę konta magazynu. Dla locationparametru ustaw wartość location, czyli parametr, który został utworzony wcześniej. Podczas dodawania sku.name i kind, IntelliSense przedstawia prawidłowe opcje.

Aby dodać opcjonalne właściwości obok wymaganych właściwości, umieść kursor w żądanej lokalizacji i naciśnij Ctrl+Spacja. Poniższy zrzut ekranu przedstawia sposób, w jaki funkcja IntelliSense sugeruje dostępne właściwości:

Zrzut ekranu przedstawiający dodawanie dodatkowych właściwości.

Po zakończeniu masz:

@minLength(3)
@maxLength(24)
@description('Provide a name for the storage account. Use only lowercase letters and numbers. The name must be unique across Azure.')
param storageAccountName string = 'store${uniqueString(resourceGroup().id)}'
param location string = resourceGroup().location

resource virtualNetwork 'Microsoft.Network/virtualNetworks@2024-05-01' = {
  name: 'exampleVNet'
  location: location
  properties: {
    addressSpace: {
      addressPrefixes: [
        '10.0.0.0/16'
      ]
    }
    subnets: [
      {
        name: 'Subnet-1'
        properties: {
          addressPrefix: '10.0.0.0/24'
        }
      }
      {
        name: 'Subnet-2'
        properties: {
          addressPrefix: '10.0.1.0/24'
        }
      }
    ]
  }
}

resource storageAccount 'Microsoft.Storage/storageAccounts@2023-05-01' = {
  name: storageAccountName
  location: location
  sku: {
    name: 'Standard_LRS'
  }
  kind: 'StorageV2'
}

Aby uzyskać więcej informacji na temat składni Bicep, zobacz Bicep file structure and syntax (Struktura i składnia pliku Bicep).

Wizualizowanie zasobów

Narzędzie Bicep Visualizer przedstawia graficzną reprezentację zasobów w pliku.

Wybierz przycisk Bicep Visualizer w prawym górnym rogu, aby otworzyć narzędzie:

Zrzut ekranu przedstawiający narzędzie Bicep Visualizer.

Ten wizualizator przedstawia zasoby zdefiniowane w pliku Bicep i łączniki między ich zależnościami. Dwa zasoby zdefiniowane w tym przewodniku szybkiego startu nie mają relacji zależności, więc nie ma między nimi łącznika.

Zrzut ekranu przedstawiający diagram wizualizatora Bicep.

Wdróż plik Bicep

  1. Kliknij prawym przyciskiem myszy plik Bicep w programie Visual Studio Code, a następnie wybierz polecenie Wdróż plik Bicep.

    Zrzut ekranu przedstawiający opcję wdrażania pliku Bicep.

  2. W polu tekstowym Wprowadź nazwę wdrożenia wpisz deployStorageAndVNet, a następnie naciśnij ENTER.

    Zrzut ekranu przedstawiający wprowadzanie nazwy wdrożenia.

  3. W polu listy Wybierz grupę zasobów u góry wybierz pozycję Utwórz nową grupę zasobów.

  4. Wprowadź exampleRG jako nazwę grupy zasobów, a następnie naciśnij ENTER.

  5. Wybierz lokalizację dla grupy zasobów, wybierz pozycję Środkowe stany USA lub wybraną lokalizację, a następnie naciśnij ENTER.

  6. Wybierz Brak z opcji Wybierz plik parametrów.

Utworzenie zasobów może potrwać kilka minut. Aby uzyskać więcej informacji, zobacz Wdrażanie plików Bicep za pomocą programu Visual Studio Code.

Możesz również użyć interfejsu wiersza polecenia platformy Azure lub programu Azure PowerShell, aby wdrożyć plik Bicep:

az group create --name exampleRG --location eastus

az deployment group create --resource-group exampleRG --template-file main.bicep --parameters storageAccountName=uniquename

Po zakończeniu wdrażania powinien zostać wyświetlony komunikat opisujący, że wdrożenie zakończyło się pomyślnie.

Czyszczenie zasobów

Gdy zasoby platformy Azure nie są już potrzebne, użyj interfejsu wiersza polecenia platformy Azure lub modułu Azure PowerShell, aby usunąć grupę zasobów szybkiego startu.

az group delete --name exampleRG

Następne kroki