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
- Langganan Azure. Jika Anda tidak memiliki langganan Azure, buat akun gratis sebelum memulai.
- Visual Studio versi 17.3.0 pratinjau 3 atau versi yang lebih baru. Lihat Pratinjau Visual Studio.
- Ekstensi Bicep Visual Studio. Lihat Visual Studio Marketplace.
- Penyebaran file Bicep memerlukan Azure CLI terbaru atau modul Azure PowerShell terbaru.
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].
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) .
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.
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.
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.
Setelah kuotasi tunggal untuk jenis sumber daya, tambahkan =
dan spasi. Anda disajikan dengan opsi untuk menambahkan properti ke sumber daya. Pilih properti yang diperlukan.
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