分享方式:


快速入門:使用 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 延伸模組的 VS Code 可透過提供預先定義的程式碼片段來簡化開發。 在此快速入門中,新增能建立虛擬網路的程式碼片段。

啟動 Visual Studio Code,然後建立名為 main.bicep 的新檔案。

main.bicep、型別 vnet 中,從清單選取 res-vnet 然後按下 [TAB] 或 [ENTER]。

Screenshot of adding snippet for virtual network.

提示

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

Screenshot of updating API version.

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

您也可以修改此程式碼以符合需求。 例如,name 不是虛擬網路的絕佳名稱。 將 name 屬性變更為 examplevnet

name: 'exampleVNet'

新增參數

您在最後一節中新增的程式碼片段遺漏參數定義。

在檔案頂端,新增:

param location

當您在 位置 之後加入一個空格時,請注意 Intellisense 會提供可用於參數的資料類型。 選取 [字串]

Screenshot of adding string type to parameter.

對參數提供一個預設值:

param location string = resourceGroup().location

如需預設值中所用函數的詳細資訊,請參閱 resourceGroup()

使用預設值為儲存體帳戶名稱新增另一個參數:

param storageAccountName string = 'store${uniqueString(resourceGroup().id)}'

如需詳細資訊,請參閱內插補點uniqueString()

此參數運作正常,但儲存體帳戶的名稱長度有限制。 名稱必須至少有 3 個字元,而且不能多於 24 個字元。 您可以透過將裝飾項目新增至參數來指定那些需求。

在參數正上方加上一行,然後輸入 @。 您會看到可用的裝飾項目。 請注意,minLengthmaxLength 都有裝飾項目。

Screenshot of adding decorators to parameter.

新增這兩個裝飾項目,並指定字元限制:

@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,直到您可以從可用選項中加以選取為止。

Screenshot of selecting storage accounts for resource type.

選取 [Microsoft.Storage/storageAccounts] 之後,您就會看到可用的 API 版本。 選取最新版本。 針對下列螢幕快照,為 2023-01-01

Screenshot of select API version for resource type.

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

Screenshot of adding required properties.

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

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

作業即將完成。 只需為那些屬性提供值即可。

再說明一次,Intellisense 可協助您。 將 name 設定為 storageAccountName,這是包含儲存體帳戶名稱的參數。 若為 location,請設定為 location,也就是您稍早建立的參數。 新增 sku.namekind 時,Intellisense 會顯示有效的選項。

完成時,您會有:

@minLength(3)
@maxLength(24)
param storageAccountName string = 'store${uniqueString(resourceGroup().id)}'

resource virtualNetwork 'Microsoft.Network/virtualNetworks@2019-11-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@2021-02-01' = {
  name: storageAccountName
  location: 'eastus'
  sku: {
    name: 'Standard_LRS'
  }
  kind: 'StorageV2'
}

如需 Bicep 語法的詳細資訊,請參閱 Bicep 結構 (部分機器翻譯)。

將資源視覺化

您可以在檔案中檢視資源的表示法。

從右上角,選取視覺化檢視按鈕以開啟 Bicep Visualizer。

Screenshot of Bicep Visualizer.

此視覺化檢視會顯示 Bicep 檔案中定義的資源以及資源相依性資訊。 此快速入門中定義的這兩個資源沒有相依性關聯,因此您不會在這兩個資源之間看到連接線。

Screenshot of Bicep Visualizer diagram.

部署 Bicep 檔案

  1. 以滑鼠右鍵按一下 VSCode 內的 Bicep 檔案,然後選取 部署 Bicep 檔案

    Screenshot of Deploy Bicep file.

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

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

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

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

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

    Screenshot of Select parameter file.

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

下一步