Mulai Cepat: Membuat file Bicep dengan Visual Studio

Panduan mulai cepat ini memandu Anda melalui langkah-langkah untuk membuat file Bicep dengan Visual Studio. Anda akan membuat akun penyimpanan dan jaringan virtual. Anda juga akan mempelajari bagaimana ekstensi Bicep menyederhanakan pengembangan dengan menyediakan jenis keamanan, validasi sintaks, dan penyelesaian otomatis.

Pengalaman penulisan serupa juga didukung dalam Visual Studio Code. Lihat Mulai Cepat: Membuat file Bicep dengan Visual Studio Code.

Prasyarat

Menambahkan cuplikan sumber daya

Luncurkan Visual Studio dan buat file baru bernama main.bicep.

Visual Studio dengan ekstensi Bicep menyederhanakan pengembangan dengan menyediakan cuplikan yang telah ditentukan sebelumnya. Dalam mulai cepat ini, Anda akan menambahkan cuplikan yang membuat jaringan virtual.

Dalam main.bicep, ketik vnet. Pilih res-vnet dari daftar, kemudian tekan [TAB] atau [ENTER].

Cuplikan layar dari penambahan cuplikan bagi jaringan virtual.

Tip

Jika Anda tidak melihat opsi intellisense tersebut di Visual Studio, pastikan Anda telah memasang ekstensi Bicep seperti yang ditentukan dalam Prasyarat. Jika Anda telah menginstal ekstensi, berikan layanan bahasa Bicep beberapa waktu untuk memulai setelah membuka file Bicep Anda. Proses ini biasanya dimulai dengan cepat, tetapi Anda tidak akan memiliki opsi intellisense sampai hal tersebut dimulai.

File Bicep Anda kini berisi kode berikut:

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'
        }
      }
    ]
  }
}

Cuplikan ini berisi semua nilai yang Anda butuhkan untuk menentukan jaringan virtual. Namun, Anda dapat memodifikasi kode ini untuk memenuhi persyaratan Anda. Misalnya, name bukan nama yang bagus untuk jaringan virtual. Ubah properti name menjadi exampleVnet.

name: 'exampleVnet'

Perhatikan lokasi yang memiliki garis bawah keriting merah. Hal ini menunjukkan adanya masalah. Arahkan kursor Anda ke lokasi. Pesan kesalahannya adalah - Nama "lokasi" tidak ada dalam konteks saat ini. Kami akan membuat parameter lokasi pada sesi berikutnya.

Tambahkan parameter

Sekarang, kami akan menambahkan dua parameter untuk nama akun penyimpanan dan lokasinya. Di bagian atas file, tambahkan:

param storageName

Ketika Anda menambahkan spasi setelah storageName, perhatikan bahwa intellisense menawarkan jenis data yang tersedia untuk parameter. Pilih untai (karakter) .

Cuplikan layar dari penambahan jenis string pada parameter.

Anda memiliki parameter berikut:

param storageName string

Parameter ini berfungsi dengan baik, tetapi akun penyimpanan memiliki batasan pada panjang nama. Nama harus setidaknya memiliki 3 karakter dan tidak lebih dari 24 karakter. Anda dapat menentukan persyaratan tersebut dengan menambahkan dekorator ke parameter.

Tambahkan baris di atas parameter, dan ketik @ . Anda akan melihat dekorator yang tersedia. Perhatikan, terdapat dekorator untuk minLength dan maxLength.

Cuplikan layar dari penambahan dekorator pada parameter.

Tambahkan kedua dekorator dan tentukan batas karakter, sebagaimana yang ditunjukkan di bawah:

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

Anda juga dapat menambahkan deskripsi untuk parameter. Sertakan informasi untuk membantu orang-orang yang menyebarkan file Bicep memahami nilai yang akan disediakan.

@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

Parameter nama akun penyimpanan siap digunakan.

Tambahkan parameter lokasi lain:

param location string = resourceGroup().location

Menambahkan sumber daya

Alih-alih menggunakan cuplikan untuk menentukan akun penyimpanan, kita akan menggunakan intellisense untuk mengatur nilai. Intellisense memudahkan langkah ini daripada mengetik nilai secara manual.

Untuk menentukan sumber daya, gunakan kata kunci resource. Di bawah jaringan virtual, ketik resource exampleStorage:

resource exampleStorage

exampleStorage adalah nama simbolis untuk sumber daya yang Anda sebarkan. Anda menggunakan nama ini untuk mereferensikan sumber daya di bagian lain pada file Bicep Anda.

Ketika Anda menambahkan spasi setelah nama simbolis, daftar jenis sumber daya ditampilkan. Lanjutkan mengetik penyimpanan hingga Anda dapat memilihnya dari opsi yang tersedia.

Cuplikan layar dari pemilihan akun penyimpanan bagi jenis sumber daya.

Setelah memilih Microsoft.Storage/storageAccounts, Anda disajikan dengan versi API yang tersedia. Pilih 2021-09-01 atau versi API terbaru. Sebaiknya gunakan versi API terbaru.

Cuplikan layar dari pemilihan versi API bagi jenis sumber daya.

Setelah kuotasi tunggal untuk jenis sumber daya, tambahkan = dan spasi. Anda disajikan dengan opsi untuk menambahkan properti ke sumber daya. Pilih properti yang diperlukan.

Cuplikan layar dari penambahan properti yang diwajibkan.

Opsi ini menambahkan semua properti untuk jenis sumber daya yang diperlukan untuk penyebaran. Setelah memilih opsi ini, akun penyimpanan Anda memiliki properti berikut:

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

Ada empat tempat penampung dalam kode. Gunakan [TAB] untuk menelusurinya dan masukkan nilainya. Lagi, intellisense membantu Anda. Atur name ke storageName, yang merupakan parameter yang berisi nama untuk akun penyimpanan. Untuk location, atur ke location. Ketika menambahkan nama dan jenis SKU, intellisense menambahkan opsi yang valid.

Setelah selesai, Anda memiliki:

@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@2019-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@2021-09-01' = {
  name: storageName
  location: location
  sku: {
    name: 'Standard_LRS'
  }
  kind: 'StorageV2'
}

Untuk informasi selengkapnya tentang sintaks Bicep, lihat struktur Bicep.

Menerapkan file Bicep

Penyebaran file Bicep belum dapat dilakukan dari Visual Studio. Anda dapat menyebarkan file Bicep dengan menggunakan Azure CLI atau Azure PowerShell:

az group create --name exampleRG --location eastus

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

Setelah penyebaran selesai, Anda akan melihat pesan yang menunjukkan penyebaran berhasil.

Membersihkan sumber daya

Saat sumber daya Azure tidak lagi diperlukan, gunakan modul Azure CLI atau Azure PowerShell untuk menghapus grup sumber daya mulai cepat.

az group delete --name exampleRG

Langkah berikutnya