共用方式為


快速入門:使用 Visual Studio Code 建立 Bicep 檔案

本快速入門會引導您使用 Visual Studio Code 建立 Bicep 檔案。 建立儲存體帳戶和虛擬網路。 您也會瞭解 Bicep 延伸模組如何提供類型安全性、語法驗證和自動完成,以簡化開發。

Visual Studio 支援類似的撰寫體驗。 如需詳細資訊,請參閱 快速入門:使用 Visual Studio 建立 Bicep 檔案。

必要條件

如果您沒有 Azure 訂用帳戶,請在開始之前先建立免費帳戶

若要設定您的環境以進行 Bicep 開發,請參閱安裝 Bicep 工具 (部分機器翻譯)。 完成這些步驟之後,您已安裝 Visual Studio CodeBicep 擴充功能 。 您也有最新的 Azure CLI 版本或 Azure PowerShell 模組

新增資源程式碼片段

具有 Bicep 延伸模組的 Visual Studio Code 提供預先定義的代碼段,以簡化開發。 在此快速入門中,新增能建立虛擬網路的程式碼片段。

啟動 Visual Studio Code,並建立名為 main.bicep 的新檔案。 在 main.bicep 中,輸入 vnet,從清單中選取 res-vnet,然後按 TABENTER。

新增虛擬網路程式碼片段的螢幕擷取畫面。

提示

如果您在 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 版本。

更新 API 版本的螢幕擷取畫面。

在下一節中,您將修正遺漏的參數定義錯誤。

您也可以修改此程式碼以符合需求。 例如,由於 name 不是虛擬網路的清楚名稱,因此您可以將 屬性變更 nameexampleVnet

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

選取資源類型 API 版本的螢幕擷取畫面。

在資源類型的單引號後面,加上 = 和一個空格。 您會看到可將屬性新增至資源的選項。 選取 [required-properties]

新增必要屬性的螢幕擷取畫面。

此選項會新增部署所需資源類型的所有屬性。 選取此選項之後,您的儲存體帳戶會有下列屬性:

resource storageAccount 'Microsoft.Storage/storageAccounts@2023-05-01' = {
  name:
  location:
  sku: {
    name:
  }
  kind:
}

您幾乎已完成,下一個步驟是提供這些屬性的值。

再說明一次,IntelliSense 可協助您。 將 name 設定為 storageAccountName,這是包含儲存體帳戶名稱的參數。 針對 location,請將它設定為 location,這是您稍早建立的參數。 新增 sku.namekind 時,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 檔案中定義的資源,以及其相依性之間的連接器。 本快速入門中定義的兩個資源沒有相依關係,因此兩者之間沒有連接器:

Bicep 視覺化檢視圖表的螢幕擷取畫面。

部署 Bicep 檔案

  1. 以滑鼠右鍵按兩下 Visual Studio Code 內的 Bicep 檔案,然後選取 [部署 Bicep 檔案]。

    [部署 Bicep 檔案] 選項的螢幕快照。

  2. 在 [ 請輸入部署 名稱] 文本框中,輸入 deployStorageAndVNet,然後按 ENTER

    輸入部署名稱的螢幕快照。

  3. 從頂端的 [選取資源群組] 清單方塊,選取 [ 建立新的資源群組]

  4. 輸入 exampleRG 作為資源組名,然後按 ENTER

  5. 選取資源群組的位置、選取 [美國 中部] 或您選擇的位置,然後按 ENTER

  6. 從 [ 選取參數檔案],選取 [ ]。

建立資源需要一些時間。 如需詳細資訊,請參閱以 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 課程模組。