Udostępnij za pośrednictwem


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

Przewodnik szybkiego startu poprowadzi Cię przez kroki tworzenia pliku Bicep w programie Visual Studio. Utworzysz konto przechowywania 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 Code. Zobacz Szybki start: tworzenie plików Bicep za pomocą programu Visual Studio Code.

Wymagania wstępne

Dodawanie fragmentu kodu zasobu

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

Program Visual Studio z rozszerzeniem Bicep upraszcza programowanie, zapewniając wstępnie zdefiniowane fragmenty kodu. W tym szybkim starcie dodasz kod, który tworzy sieć wirtualną.

W main.bicep wpisz vnet. Wybierz res-vnet z listy, a następnie naciśnij [TAB] lub [ENTER].

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

Wskazówka

Jeśli nie widzisz tych opcji intellisense w programie Visual Studio, 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 na uruchomienie po otwarciu pliku Bicep. Zwykle zaczyna się szybko, ale nie będziesz mieć opcji intellisense, dopóki nie zostanie uruchomiona.

Plik Bicep zawiera teraz następujący kod:

resource virtualNetwork 'Microsoft.Network/virtualNetworks@2023-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'
        }
      }
    ]
  }
}

Ten fragment kodu zawiera wszystkie wartości potrzebne do zdefiniowania sieci wirtualnej. Można jednak zmodyfikować ten kod w celu spełnienia wymagań. Na przykład name nie jest to świetna nazwa dla sieci wirtualnej. Zmień właściwość z name na exampleVnet.

name: 'exampleVnet'

Zwróć uwagę, że lokalizacja ma czerwone faliste podkreślenie. Oznacza to problem. Umieść kursor nad lokalizacją. Komunikat o błędzie to — nazwa "location" nie istnieje w bieżącym kontekście. Utworzymy parametr lokalizacji w następnej sekcji.

Dodawanie parametrów

Teraz dodamy dwa parametry dla nazwy konta magazynu i lokalizacji. W górnej części pliku dodaj:

param storageName

Po dodaniu miejsca po storageName 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.

Masz następujący parametr:

param storageName string

Ten parametr działa prawidłowo, ale konta storage 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ą zarówno dekoratory dla minLength, jak i maxLength.

Zrzut ekranu przedstawiający 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. Dołącz informacje ułatwiające osobom wdrażającym plik Bicep zrozumieć wartość, którą należy podać.

@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 nazwy konta magazynu jest gotowy do użycia.

Dodaj inny parametr lokalizacji:

param location string = resourceGroup().location

Dodaj zasób

Zamiast używać fragmentu kodu do zdefiniowania konta magazynowego, użyjemy funkcji IntelliSense, aby skonfigurować 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 storage, dopóki nie będzie można go wybrać z dostępnych opcji.

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

Po wybraniu pozycji Microsoft.Storage/storageAccounts zostaną wyświetlone dostępne wersje interfejsu API. Wybierz 2021-09-01 lub najnowszą wersję interfejsu API. Zalecamy używanie najnowszej wersji interfejsu API.

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 magazynowe ma następujące właściwości:

resource exampleStorage 'Microsoft.Storage/storageAccounts@2023-04-01' = {
	name: 1
	location: 2
	sku: {
		name: 3
	}
	kind: 4
}

W kodzie znajdują się cztery symbole zastępcze. Użyj [TAB], aby przejść przez nie i wprowadzić wartości. Ponownie funkcja IntelliSense pomaga. Ustaw name na storageName, który jest parametrem zawierającym nazwę konta przechowywania. W obszarze locationustaw wartość location. Podczas dodawania nazwy i rodzaju jednostki SKU funkcja IntelliSense przedstawia prawidłowe opcje.

Po zakończeniu masz:

@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
param location string = resourceGroup().location

resource virtualNetwork 'Microsoft.Network/virtualNetworks@2023-11-01' = {
  name: storageName
  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 exampleStorage 'Microsoft.Storage/storageAccounts@2023-04-01' = {
  name: storageName
  location: location
  sku: {
    name: 'Standard_LRS'
  }
  kind: 'StorageV2'
}

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

Wdróż plik Bicep

Nie można jeszcze przeprowadzić wdrażania plików Bicep z poziomu programu Visual Studio. Plik Bicep można wdrożyć przy użyciu interfejsu wiersza polecenia platformy Azure lub programu 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