快速入門:使用 Visual Studio Code 建立 Bicep 檔案
本快速入門會引導您使用 Visual Studio Code 建立 Bicep 檔案。 建立儲存體帳戶和虛擬網路。 您也會瞭解 Bicep 延伸模組如何提供類型安全性、語法驗證和自動完成,以簡化開發。
Visual Studio 支援類似的撰寫體驗。 如需詳細資訊,請參閱 快速入門:使用 Visual Studio 建立 Bicep 檔案。
必要條件
如果您沒有 Azure 訂用帳戶,請在開始之前先建立免費帳戶。
若要設定您的環境以進行 Bicep 開發,請參閱安裝 Bicep 工具 (部分機器翻譯)。 完成這些步驟之後,您已安裝 Visual Studio Code 和 Bicep 擴充功能 。 您也有最新的 Azure CLI 版本或 Azure PowerShell 模組。
新增資源程式碼片段
具有 Bicep 延伸模組的 Visual Studio Code 提供預先定義的代碼段,以簡化開發。 在此快速入門中,新增能建立虛擬網路的程式碼片段。
啟動 Visual Studio Code,並建立名為 main.bicep 的新檔案。 在 main.bicep 中,輸入 vnet,從清單中選取 res-vnet,然後按 TAB 或 ENTER。
提示
如果您在 Visual Studio Code 中看不到這些 IntelliSense 選項,請確定您已如必要條件中所 指定安裝 Bicep 擴充功能。 如果您已安裝該延伸模組,則在開啟 Bicep 檔案之後,請給 Bicep 語言服務一些時間來啟動。 它通常會快速啟動,而且在啟動之前,您不會有 IntelliSense 選項。 右下角的通知表示服務正在啟動。 當該通知消失時,表示服務正在執行。
您的 Bicep 檔案現在包含下列程式碼:
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'
}
}
]
}
}
在此程式碼片段中,您會找到定義虛擬網路所需的所有值。 您可能會注意到兩個捲曲底線。 黃色表示與過期 API 版本相關的警告,而紅色下底線大括號表示遺漏參數定義所造成的錯誤。 Bicep Linter 會檢查 Bicep 檔案是否有語法錯誤和最佳做法違規。 將游標暫留在 上方 @2019-11-01
,彈出視窗窗格會顯示 使用 『Microsoft.Network/virtualNetworks』 的最新 API 版本。 從快顯窗格中選取 [快速修正 ],然後選取 [以 2024-05-01 取代] 以更新 API 版本。
或者,移除 @2019-11-01
,並將它取代為 @
。 選取最新 API 版本。
在下一節中,您將修正遺漏的參數定義錯誤。
您也可以修改此程式碼以符合需求。 例如,由於 name
不是虛擬網路的清楚名稱,因此您可以將 屬性變更 name
為 exampleVnet
:
name: 'exampleVNet'
新增參數
您在最後一節中新增的代碼段會遺漏參數定義, location
如紅色大括號表示。 在檔案頂端,新增:
param location
當您在 位置 之後加入一個空格時,請注意 IntelliSense 會提供可用於參數的資料類型。 選取 [字串]。
對參數提供一個預設值:
param location string = resourceGroup().location
上一行會將資源群組的位置指派給虛擬網路資源。 如需預設值中使用的函式詳細資訊,請參閱 resourceGroup()
。
在檔案頂端,使用預設值新增記憶體帳戶名稱的另一個參數(稍後在快速入門中建立此名稱:
param storageAccountName string = 'store${uniqueString(resourceGroup().id)}'
如需詳細資訊,請參閱 插補 和 uniqueString()
。
此參數運作正常,但儲存體帳戶的名稱長度有限制。 名稱必須至少有 3 個字元,且不超過 24 個字元。 您可以將裝飾專案新增至 參數,以指定這些需求。
在參數正上方加上一行,然後輸入 @。 您會看到可用的裝飾項目。 請注意,minLength 和 maxLength 都有裝飾專案。
新增兩個裝飾專案,並指定字元限制(例如,3 和 24 以下):
@minLength(3)
@maxLength(24)
param storageAccountName string = 'store${uniqueString(resourceGroup().id)}'
您也可以新增參數的描述。 包含可協助人員部署 Bicep 檔案以瞭解要提供哪些值的資訊:
@minLength(3)
@maxLength(24)
@description('Provide a name for the storage account. Use only lowercase letters and numbers. The name must be unique across Azure.')
param storageAccountName string = 'store${uniqueString(resourceGroup().id)}'
您的參數已就緒。
新增資源
您將使用 IntelliSense 來設定值,而不是使用程式碼片段來定義儲存體帳戶。 相較於必須手動輸入值,IntelliSense 讓此步驟更容易。
若要定義資源,請使用 resource
關鍵字。 在您的虛擬網路下方,輸入 資源 storageAccount:
resource storageAccount
storageAccount 是您要部署之資源的符號名稱。 您可以使用此名稱來參考 Bicep 檔案其他部分中的資源。
當您在符號名稱後面加上一個空格時,即會顯示資源類型的清單。 繼續輸入 storagecc,直到您可以從可用選項中加以選取為止。
選取 [Microsoft.Storage/storageAccounts] 之後,您就會看到可用的 API 版本。 選取最新版本。 對於下列螢幕擷取畫面,它是 2023-05-01。
在資源類型的單引號後面,加上 = 和一個空格。 您會看到可將屬性新增至資源的選項。 選取 [required-properties]。
此選項會新增部署所需資源類型的所有屬性。 選取此選項之後,您的儲存體帳戶會有下列屬性:
resource storageAccount 'Microsoft.Storage/storageAccounts@2023-05-01' = {
name:
location:
sku: {
name:
}
kind:
}
您幾乎已完成,下一個步驟是提供這些屬性的值。
再說明一次,IntelliSense 可協助您。 將 name
設定為 storageAccountName
,這是包含儲存體帳戶名稱的參數。 針對 location
,請將它設定為 location
,這是您稍早建立的參數。 新增 sku.name
和 kind
時,IntelliSense 會顯示有效的選項。
若要將選擇性屬性與必要屬性一起新增,請將游標放在所需的位置,然後按 Ctrl+空格鍵。 下列螢幕快照顯示 IntelliSense 如何建議可用的屬性:
完成時,您會有:
@minLength(3)
@maxLength(24)
@description('Provide a name for the storage account. Use only lowercase letters and numbers. The name must be unique across Azure.')
param storageAccountName string = 'store${uniqueString(resourceGroup().id)}'
param location string = resourceGroup().location
resource virtualNetwork 'Microsoft.Network/virtualNetworks@2024-05-01' = {
name: 'exampleVNet'
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 storageAccount 'Microsoft.Storage/storageAccounts@2023-05-01' = {
name: storageAccountName
location: location
sku: {
name: 'Standard_LRS'
}
kind: 'StorageV2'
}
如需 Bicep 語法的詳細資訊,請參閱 Bicep 檔案結構和語法。
將資源視覺化
Bicep 可視化檢視會顯示檔案中資源的圖形表示法。
選取右上角的 [Bicep 可視化檢視] 按鈕以開啟工具:
此可視化檢視會顯示 Bicep 檔案中定義的資源,以及其相依性之間的連接器。 本快速入門中定義的兩個資源沒有相依關係,因此兩者之間沒有連接器:
部署 Bicep 檔案
以滑鼠右鍵按兩下 Visual Studio Code 內的 Bicep 檔案,然後選取 [部署 Bicep 檔案]。
在 [ 請輸入部署 名稱] 文本框中,輸入 deployStorageAndVNet,然後按 ENTER。
從頂端的 [選取資源群組] 清單方塊,選取 [ 建立新的資源群組]。
輸入 exampleRG 作為資源組名,然後按 ENTER。
選取資源群組的位置、選取 [美國 中部] 或您選擇的位置,然後按 ENTER。
從 [ 選取參數檔案],選取 [ 無]。
建立資源需要一些時間。 如需詳細資訊,請參閱以 Visual Studio Code 部署 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 storageAccountName=uniquename
當部署完成時,您應該會看到描述部署成功的訊息。
清除資源
如果不再需要 Azure 資源,請使用 Azure CLI 或 Azure PowerShell 模組來刪除快速入門資源群組。
az group delete --name exampleRG
下一步
探索 Bicep 的 Learn 課程模組。