Szybki start: tworzenie plików Bicep przy użyciu Visual Studio Code

Ten przewodnik Szybki start przeprowadzi Cię przez kroki tworzenia pliku Bicep za pomocą Visual Studio Code. Utworzysz konto magazynu i sieć wirtualną. Dowiesz się również, jak rozszerzenie Bicep upraszcza programowanie, zapewniając bezpieczeństwo typów, walidację składni i autouzupełnianie.

Podobne środowisko tworzenia jest również obsługiwane w programie Visual Studio. 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 opracowywania aplikacji Bicep, zobacz Instalowanie narzędzi Bicep. Po wykonaniu tych kroków będziesz mieć Visual Studio Code i rozszerzenie Bicep. Masz również najnowszy interfejs wiersza polecenia platformy Azure lub najnowszy moduł Azure PowerShell.

Dodawanie fragmentu kodu zasobu

Uruchom Visual Studio Code i utwórz nowy plik o nazwie main.bicep.

Program VS Code z rozszerzeniem Bicep upraszcza programowanie, zapewniając wstępnie zdefiniowane fragmenty kodu. W tym przewodniku Szybki start dodasz fragment kodu, który tworzy sieć wirtualną.

W pliku main.bicep wpisz vnet. Wybierz pozycję res-vnet z listy, a następnie pozycję Tab lub Enter.

Dodawanie fragmentu kodu dla sieci wirtualnej

Porada

Jeśli nie widzisz tych opcji funkcji IntelliSense w programie VS Code, upewnij się, że zainstalowano rozszerzenie Bicep zgodnie z wymaganiami wstępnymi. Jeśli rozszerzenie zostało zainstalowane, daj usłudze językowej Bicep trochę czasu, aby rozpocząć po otwarciu pliku Bicep. Zwykle rozpoczyna się szybko, ale nie będziesz mieć opcji intellisense, dopóki nie zostanie uruchomiona. 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: resourceGroup().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'
        }
      }
    ]
  }
}

Ten fragment kodu zawiera wszystkie wartości potrzebne do zdefiniowania sieci wirtualnej. Można jednak zmodyfikować ten kod, aby spełniał twoje wymagania. Na przykład name nie jest to świetna nazwa sieci wirtualnej. Zmień właściwość na nameexamplevnet.

name: 'examplevnet'

Ten plik Bicep można wdrożyć, ale przed wdrożeniem dodamy parametr i konto magazynu.

Dodawanie parametru

Teraz dodamy parametr nazwy konta magazynu. W górnej części pliku dodaj:

param storageName

Podczas dodawania miejsca po nazwie storageName zwróć uwagę, że funkcja IntelliSense oferuje typy danych, które są dostępne dla parametru. Wybierz ciąg.

Dodawanie typu ciągu do parametru

Masz następujący parametr:

param storageName string

Ten parametr działa prawidłowo, ale konta magazynu mają limity długości nazwy. Nazwa musi zawierać co najmniej 3 znaki 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 , jak i maxLength.

Dodawanie dekoratorów do parametru

Dodaj oba dekoratory i określ limity znaków, jak pokazano poniżej:

@minLength(3)
@maxLength(24)
param storageName string

Możesz również dodać opis parametru. Uwzględnij informacje ułatwiające osobom wdrażającym plik Bicep zrozumienie wartości do dostarczenia.

@minLength(3)
@maxLength(24)
@description('Provide a name for the storage account. Use only lower case letters and numbers. The name must be unique across Azure.')
param storageName string

Parametr jest gotowy do użycia.

Dodaj zasób

Zamiast używać fragmentu kodu do zdefiniowania konta magazynu, użyjemy funkcji IntelliSense, aby ustawić wartości. Funkcja IntelliSense znacznie ułatwia ten krok niż ręczne wpisywanie wartości.

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

resource exampleStorage

exampleStorage 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 magazynu , dopóki nie będzie można go wybrać z dostępnych opcji.

Wybieranie kont magazynu dla typu zasobu

Po wybraniu Microsoft. Magazyn/magazynKonta są prezentowane z dostępnymi wersjami interfejsu API. Wybierz pozycję 2021-02-01.

Wybierz wersję interfejsu API dla typu zasobu

Po pojedynczym cudzysłowie dla typu zasobu dodaj = i spację. Przedstawiono opcje dodawania właściwości do zasobu. Wybierz pozycję required-properties (Wymagane właściwości).

Dodawanie wymaganych właściwości

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

resource exampleStorage 'Microsoft.Storage/storageAccounts@2021-02-01' = {
  name:
  location:
  sku: {
    name:
  }
  kind:

}

To już prawie koniec. Wystarczy podać wartości dla tych właściwości.

Ponownie funkcja IntelliSense pomaga. Ustaw name wartość storageName, czyli parametr zawierający nazwę konta magazynu. W obszarze locationustaw wartość 'eastus'. Podczas dodawania nazwy i rodzaju jednostki SKU funkcja IntelliSense przedstawia prawidłowe opcje.

Po zakończeniu masz:

@minLength(3)
@maxLength(24)
param storageName string

resource virtualNetwork 'Microsoft.Network/virtualNetworks@2019-11-01' = {
  name: 'examplevnet'
  location: resourceGroup().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 exampleStorage 'Microsoft.Storage/storageAccounts@2021-02-01' = {
  name: storageName
  location: 'eastus'
  sku: {
    name: 'Standard_LRS'
  }
  kind: 'StorageV2'
}

Aby uzyskać więcej informacji na temat składni Bicep, zobacz Bicep structure (Struktura Bicep).

Wizualizowanie zasobów

Możesz wyświetlić reprezentację zasobów w pliku.

W prawym górnym rogu wybierz przycisk wizualizatora, aby otworzyć wizualizację Bicep Visualizer.

Wizualizator Bicep

Wizualizator przedstawia zasoby zdefiniowane w pliku Bicep z informacjami o zależnościach zasobów. Dwa zasoby zdefiniowane w tym przewodniku Szybki start nie mają relacji zależności, więc nie widzisz łącznika między dwoma zasobami.

Wdrażanie pliku Bicep

  1. Kliknij prawym przyciskiem myszy plik Bicep wewnątrz programu VSCode, a następnie wybierz pozycję Wdróż plik Bicep.

    Zrzut ekranu przedstawiający plik Deploy Bicep (Wdrażanie pliku Bicep).

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

  3. Wprowadź exampleRG jako nazwę grupy zasobów, a następnie naciśnij klawisz [ENTER].

  4. Wybierz lokalizację grupy zasobów, a następnie naciśnij klawisz [ENTER].

  5. W obszarze Wybierz plik parametrów wybierz pozycję Brak.

    Zrzut ekranu przedstawiający wybieranie pliku parametrów.

  6. Wprowadź unikatową nazwę konta magazynu, a następnie naciśnij klawisz [ENTER]. Jeśli zostanie wyświetlony komunikat o błędzie wskazujący, że konto magazynu jest już zajęte, podana nazwa magazynu jest używana. Podaj nazwę, która prawdopodobnie będzie unikatowa.

  7. W obszarze Utwórz plik parametrów z wartości używanych w tym wdrożeniu? wybierz pozycję Nie.

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

Plik Bicep można również wdrożyć przy użyciu interfejsu wiersza polecenia platformy Azure lub Azure PowerShell:

az group create --name exampleRG --location eastus

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

Po zakończeniu wdrażania powinien zostać wyświetlony komunikat informujący o pomyślnym wdrożeniu.

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