快速入門:使用 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 延伸模組的 VS Code 可透過提供預先定義的程式碼片段來簡化開發。 在此快速入門中,新增能建立虛擬網路的程式碼片段。
啟動 Visual Studio Code,然後建立名為 main.bicep 的新檔案。
在 main.bicep、型別 vnet 中,從清單選取 res-vnet 然後按下 [TAB] 或 [ENTER]。
提示
如果您在 VS 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 版本相關的警告,而紅色下底線大括號表示遺漏參數定義所造成的錯誤。
移除 @2019-11-01
,並使用 @
取代。 選取最新 API 版本。
在下一節中,您將修正遺漏的參數定義錯誤。
您也可以修改此程式碼以符合需求。 例如,name
不是虛擬網路的絕佳名稱。 將 name
屬性變更為 examplevnet
。
name: 'exampleVNet'
新增參數
您在最後一節中新增的程式碼片段遺漏參數定義。
在檔案頂端,新增:
param location
當您在 位置 之後加入一個空格時,請注意 IntelliSense 會提供可用於參數的資料類型。 選取 [字串]。
對參數提供一個預設值:
param location string = resourceGroup().location
如需預設值中所用函數的詳細資訊,請參閱 resourceGroup()。
使用預設值為儲存體帳戶名稱新增另一個參數:
param storageAccountName string = 'store${uniqueString(resourceGroup().id)}'
如需詳細資訊,請參閱內插補點和 uniqueString()。
此參數運作正常,但儲存體帳戶的名稱長度有限制。 名稱必須至少有 3 個字元,而且不能多於 24 個字元。 您可以透過將裝飾項目新增至參數來指定那些需求。
在參數正上方加上一行,然後輸入 @。 您會看到可用的裝飾項目。 請注意,minLength 和 maxLength 都有裝飾項目。
新增這兩個裝飾項目,並指定字元限制:
@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 lower case letters and numbers. The name must be unique across Azure.')
param storageAccountName string = 'store${uniqueString(resourceGroup().id)}'
您的參數已就緒。
新增資源
您將使用 IntelliSense 來設定值,而不是使用程式碼片段來定義儲存體帳戶。 相較於必須手動輸入值,IntelliSense 讓此步驟更容易。
若要定義資源,請使用 resource
關鍵字。 在您的虛擬網路下方,輸入 resource exampleStorage:
resource exampleStorage
exampleStorage 是您要部署資源的符號名稱。 您可以使用此名稱來參考 Bicep 檔案其他部分中的資源。
當您在符號名稱後面加上一個空格時,即會顯示資源類型的清單。 繼續輸入 storagecc,直到您可以從可用選項中加以選取為止。
選取 [Microsoft.Storage/storageAccounts] 之後,您就會看到可用的 API 版本。 選取最新版本。 對於下列螢幕擷取畫面,它是 2023-05-01。
在資源類型的單引號後面,加上 = 和一個空格。 您會看到可將屬性新增至資源的選項。 選取 [required-properties]。
此選項會新增部署所需資源類型的所有屬性。 選取此選項之後,您的儲存體帳戶會有下列屬性:
resource exampleStorage 'Microsoft.Storage/storageAccounts@2023-05-01' = {
name:
location:
sku: {
name:
}
kind:
}
作業即將完成。 只需為那些屬性提供值即可。
再說明一次,IntelliSense 可協助您。 將 name
設定為 storageAccountName
,這是包含儲存體帳戶名稱的參數。 針對 location
,請將它設定為 location
,這是您稍早建立的參數。 新增 sku.name
和 kind
時,IntelliSense 會顯示有效的選項。
若要在必要屬性旁邊新增選用屬性,請將游標置於所需的位置並按 Ctrl+Space。 IntelliSense 會建議未使用的屬性,如下列螢幕擷取畫面所示:
完成時,您會有:
@minLength(3)
@maxLength(24)
param storageAccountName string = 'store${uniqueString(resourceGroup().id)}'
param location string = resourceGroup().location
resource virtualNetwork 'Microsoft.Network/virtualNetworks@2024-03-01' = {
name: 'exampleVNet'
location: resourceGroup().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-05-01' = {
name: storageAccountName
location: 'eastus'
sku: {
name: 'Standard_LRS'
}
kind: 'StorageV2'
}
如需 Bicep 語法的詳細資訊,請參閱 Bicep 結構 (部分機器翻譯)。
將資源視覺化
您可以在檔案中檢視資源的表示法。
從右上角,選取視覺化檢視按鈕以開啟 Bicep Visualizer。
此視覺化檢視會顯示 Bicep 檔案中定義的資源以及資源相依性資訊。 此快速入門中定義的這兩個資源沒有相依性關聯,因此您不會在這兩個資源之間看到連接線。
部署 Bicep 檔案
以滑鼠右鍵按一下 VSCode 內的 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 課程模組。