本快速入門會引導您完成使用 Visual Studio 建立 Bicep 檔案 的步驟。 建立儲存體帳戶和虛擬網路。 您也會瞭解 Bicep 延伸模組如何藉由提供類型安全、語法驗證和自動完成來簡化開發。
Visual Studio Code 也支援類似的撰寫體驗。 請參閱 快速入門:使用 Visual Studio Code 建立 Bicep 檔案。
先決條件
- Azure 訂用帳戶。 如果您沒有 Azure 訂用帳戶,請在開始前建立免費帳戶。
- Visual Studio 17.3.0 預覽版 3 或更新版本。 請參閱 Visual Studio 預覽版。
- Visual Studio Bicep 延伸模組。 請參閱 Visual Studio Marketplace。
- Bicep 檔案部署需要最新的 Azure CLI 或最新的 Azure PowerShell 模組。
新增資源程式碼片段
啟動 Visual Studio,並建立名為 main.bicep 的新檔案。
具有 Bicep 延伸模組的 Visual Studio 會藉由提供預先定義的程式碼片段來簡化開發。 在此快速入門中,新增能建立虛擬網路的程式碼片段。
在 main.bicep 中,輸入 vnet。 從清單中選擇 res-vnet,然後按下 [TAB] 或 [ENTER]。
小提示
如果您在 Visual Studio 中看不到這些 Intellisense 選項,請確定您已安裝 Bicep 延伸模組,如 必要條件中所指定。 如果您已安裝延伸模組,請在開啟 Bicep 檔案之後,給 Bicep 語言服務一些時間來啟動。 其通常會快速啟動,但在其啟動之前,您不會有 IntelliSense 選項。
您的 Bicep 檔案現在包含下列程式碼:
resource virtualNetwork 'Microsoft.Network/virtualNetworks@2025-01-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'
}
}
]
}
}
此程式碼片段包含定義虛擬網路所需的所有值。 不過,您可以修改此程式碼以符合您的需求。 例如,對於虛擬網路來說, name 這不是一個很好的名稱。 將 name 屬性變更為 exampleVnet。
name: 'exampleVnet'
通知 位置 有紅色捲邊線。 這表示有問題。 將游標懸停在 位置上。 錯誤訊息是 - 名稱 “location” 不存在於目前的內容中。 我們將在下一節中建立位置參數。
新增參數
現在,我們新增儲存體帳戶名稱和位置的兩個參數。 在檔案頂端,新增:
param storageName
當您在 storageName 之後新增空格時,請注意 intellisense 會提供可用於參數的資料類型。 選取 字串。
您有下列參數:
param storageName string
此參數運作正常,但儲存體帳戶對名稱的長度有限制。 名稱必須至少包含三個字元,且不超過 24 個字元。 您可以將裝飾器新增至參數,以指定這些需求。
在參數上方新增一行,然後輸入 @。 您會看到可用的裝飾器。 請注意,minLength 和 maxLength 都有裝飾器。
新增兩個裝飾器並指定字元限制,如下所示:
@minLength(3)
@maxLength(24)
param storageName string
您也可以新增參數的說明。 包括的資訊可協助部署 Bicep 檔案的人員了解要提供的值。
@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
新增資源
我們不會使用程式碼片段來定義儲存體帳戶,而是使用 Intellisense 來設定值。 Intellisense 可讓此步驟比手動輸入值更容易。
若要定義資源,請使用 resource 關鍵字。 在虛擬網路下方,輸入 resource exampleStorage:
resource exampleStorage
exampleStorage 是您正在部署之資源的符號名稱。 您可以使用此名稱來參考 Bicep 檔案其他部分中的資源。
當您在符號名稱之後新增空格時,會顯示資源類型清單。 繼續鍵入 儲存, 直到您可以從可用選項中選擇它。
選取 Microsoft.Storage/storageAccounts 之後,您會看到可用的 API 版本。 選取 [2021-09-01 ] 或最新的 API 版本。 建議您使用最新的 API 版本。
在資源類型的單引號之後,新增 = 和空格。 您會看到將屬性新增至資源的選項。 選取 required-properties。
此選項會新增部署所需的資源類型的所有內容。 選取此選項之後,您的儲存體帳戶具有下列屬性:
resource exampleStorage 'Microsoft.Storage/storageAccounts@2025-06-01' = {
name: 1
location: 2
sku: {
name: 3
}
kind: 4
}
程式碼中有四個佔位符。 使用 [TAB] 瀏覽它們並輸入值。 同樣,智能感知可以幫助您。 設定 name 為 storageName,這是包含儲存體帳戶名稱的參數。 對於 location,將其設定為 location。 新增 SKU 名稱和種類時,Intellisense 會呈現有效的選項。
完成後,您就擁有:
@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@2025-01-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@2025-06-01' = {
name: storageName
location: location
sku: {
name: 'Standard_LRS'
}
kind: 'StorageV2'
}
如需 Bicep 語法的詳細資訊,請參閱 Bicep 結構。
部署 Bicep 檔案
目前還無法從 Visual Studio 完成 Bicep 檔案部署。 您可以使用 Azure CLI 或 Azure PowerShell 來部署 Bicep 檔案:
az group create --name exampleRG --location eastus
az deployment group create --resource-group exampleRG --template-file main.bicep --parameters storageName=uniquename
當部署完成時,您應該會看到訊息,指出部署成功。
清理資源
當不再需要 Azure 資源時,請使用 Azure CLI 或 Azure PowerShell 模組來刪除快速入門資源群組。
az group delete --name exampleRG