Szybki start: tworzenie plików Bicep za pomocą programu Visual Studio
Ten przewodnik Szybki start przeprowadzi Cię przez kroki tworzenia pliku Bicep za pomocą programu Visual Studio. 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 Visual Studio Code. Zobacz Szybki start: tworzenie plików Bicep za pomocą Visual Studio Code.
Wymagania wstępne
- Subskrypcja platformy Azure. Jeśli nie masz subskrypcji platformy Azure, przed rozpoczęciem utwórz bezpłatne konto.
- Program Visual Studio w wersji 17.3.0 (wersja zapoznawcza 3 lub nowsza). Zobacz Visual Studio Preview.
- Rozszerzenie Bicep programu Visual Studio. Zobacz Visual Studio Marketplace.
- Wdrożenie pliku Bicep wymaga najnowszego interfejsu wiersza polecenia platformy Azure lub najnowszego modułu Azure PowerShell.
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, udostępniają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 naciśnij klawisz [TAB] lub [ENTER].
Porada
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 rozpoczęcie po otwarciu pliku Bicep. Zwykle uruchamia 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, aby spełniał twoje wymagania. Na przykład name
nie jest to świetna nazwa dla sieci wirtualnej.
name
Zmień właściwość na exampleVnet
.
name: 'exampleVnet'
Zwróć uwagę, że lokalizacja ma czerwone podkreślenie. Wskazuje to problem. Umieść kursor na lokalizacji. 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.
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.
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, które pomagają 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 magazynu, użyjemy funkcji IntelliSense do ustawienia 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 zasobuMagazyn:
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 wybrać go z dostępnych opcji.
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.
Po pojedynczym cudzysłowie dla typu zasobu dodaj =
i spację. Zostaną wyświetlone opcje dodawania właściwości do zasobu. Wybierz pozycję required-properties(wymagane 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@2023-04-01' = {
name: 1
location: 2
sku: {
name: 3
}
kind: 4
}
W kodzie znajdują się cztery symbole zastępcze. Użyj klawisza [TAB], aby przejść przez nie i wprowadzić wartości. Ponownie funkcja IntelliSense pomaga. Ustaw name
wartość storageName, czyli parametr zawierający nazwę konta magazynu. W obszarze location
ustaw wartość location
. Podczas dodawania nazwy i rodzaju jednostki SKU funkcja IntelliSense przedstawia prawidłowe opcje.
Po zakończeniu będziesz mieć:
@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 Bicep structure (Struktura Bicep).
Wdrażanie pliku Bicep
Nie można jeszcze wykonać wdrożenia pliku Bicep z poziomu programu Visual Studio. Plik Bicep można 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