Visual Studio Code を使用して Bicep ファイルを作成する

この記事では、Visual Studio Code を使用して Bicep ファイルを作成する方法を示します。

VS コードをインストールします。

Bicep の開発環境を設定するには、「Bicep ツールをインストールする」を参照してください。 これらの手順を完了すると、Visual Studio CodeBicep 拡張機能を利用できるようになります。 また、最新の Azure CLI または最新の Azure PowerShell モジュールを用意します。

Bicep コマンド

Visual Studio Code には、いくつかの Bicep コマンドが付属しています。

VS Code で Bicep ファイルを開くか作成し、[表示] メニューを選択して、[コマンド パレット] を選択します。 F1 キーまたは Ctrl + Shift + P キーの組み合わせを使用して、コマンド パレットを表示することもできます。 Bicep コマンドを一覧表示するには、「Bicep」と入力します。

コマンドパレットの Visual Studio Code Bicep コマンドのスクリーンショットです。

コマンドには、次が含まれます。

Bicep ファイルを右クリックすると、コンテキスト メニューにも次のコマンドが表示されます:

Visual Studio Code の Bicep コマンドのスクリーンショット (Bicep ファイルのコンテキスト メニュー)。

JSON ファイルを右クリックした場合は、次のようになります。

Visual Studio Code の Bicep コマンドのスクリーンショット (ARM JSON テンプレートのコンテキスト メニュー)。

ARM テンプレートをビルドする

build コマンドは、Bicep ファイルを Azure Resource Manager テンプレート (ARM テンプレート) に変換します。 新しい JSON テンプレートは、同じファイル名の同じフォルダーに保存されます。 同じファイル名のファイルが存在する場合は、古いファイルが上書きされます。 詳しくは、「Bicep CLI コマンド」を参照してください。

Bicep 構成ファイルを作成する

Bicep 構成ファイル (bicepconfig.json) を使用すると、Bicep 開発エクスペリエンスをカスタマイズできます。 bicepconfig.json を複数のディレクトリに追加できます。 ディレクトリ階層内で Bicep ファイルに最も近い構成ファイルが使用されます。 このコマンドを選択すると、フォルダーを選択するためのダイアログが拡張機能によって開きます。 既定のフォルダーに、Bicep ファイルが格納されます。 フォルダーに bicepconfig.json ファイルが既に存在する場合は、既存のファイルを上書きすることができます。

Bicep 構成ファイルを作成するには:

  1. Visual Studio Code を開きます。
  2. [表示] メニューから [コマンド パレット] を選択し (または Ctrl/Cmd + Shift + P を押して)、[Bicep: Bicep 構成ファイルの作成] を選択します。
  3. ファイルの配置先となるディレクトリを選択します。
  4. 終わったら構成ファイルを保存します。

Bicep への逆コンパイル

このコマンドは、ARM JSON テンプレートを Bicep ファイルに逆コンパイルして、それを ARM JSON テンプレートと同じディレクトリに配置します。 新しいファイルは、.bicep という拡張子の同じファイル名になります。 同じファイル名の Bicep ファイルが既に同じフォルダーに存在する場合、既存のファイルを上書きするか、コピーを作成するかを確認するメッセージが Visual Studio Code から表示されます。

Bicep ファイルをデプロイする

Bicep ファイルは、Visual Studio Code から直接デプロイできます。 コマンド パレットまたはコンテキスト メニューから[ Bicep ファイルを配置 ]を選択します。 拡張機能により、Azure へのサインイン、サブスクリプションの選択、リソース グループの作成/選択、およびパラメーター値の入力が求められます。

注意

vscode 内の Bicep デプロイ コマンドは、認証に Azure アカウント拡張機能を使用します。 bicepconfig.json のクラウド プロファイルは使用されません。

パラメーター ファイルの生成

このコマンドは、Bicep ファイルと同じフォルダーにパラメーター ファイルを作成します。 Bicep パラメータ ファイルまたは JSON パラメータ ファイルの作成を選択できます。 新しい Bicep パラメータ ファイル名は <bicep-file-name>.bicepparam、新しい JSON パラメータ ファイル名は <bicep-file-name>.parameters.json です。

Kubernetes マニフェストのインポート (プレビュー)

このコマンドは、Kubernetes マニフェスト ファイルをインポートし、 Bicep モジュールを作成します。 詳細については、「Bicep 拡張機能 Kubernetes プロバイダー」および「クイック スタート: Bicep 拡張機能 Kubernetes プロバイダー (プレビュー) を使用して Azure アプリケーションを Azure Kubernetes Service (AKS) クラスターにデプロイする」を参照してください。

リソースの挿入

insert resource コマンドを使用すると、既存のリソースのリソース ID を指定して、Bicep ファイルにリソース宣言が追加されます。 [リソースの挿入] を選択した後、コマンド パレットにリソース ID を入力します。 リソースが挿入されるまでしばらく時間がかかります。

リソース ID は、次のいずれかの方法で確認できます。


テンプレートのエクスポートと同様に、プロセスによって使用できるリソースの作成が試行されます。 しかし、挿入されたテンプレートのほとんどは、Azure リソースのデプロイに使用する前に、いくつかの変更が必要です。

詳細については、「Bicep への ARM テンプレート JSON の逆コンパイル」を参照してください。

Bicep ビジュアライザー を開きます

このビジュアライザーには、Bicep ファイルに定義されているリソースと、リソースの依存関係情報が表示されます。 図は、Linux 仮想マシンの Bicep ファイルを視覚化しています。

Visual Studio Code Bicep ビジュアライザー

ビジュアライザーを Bicep ファイルと並べて開くこともできます。

Bicep モジュールを復元する

レジストリに発行されたモジュールを Bicep ファイルで使用する場合、復元コマンドにより、必要なすべてのモジュールのコピーがレジストリから取得されます。 これらのコピーはローカル キャッシュに格納されます。 詳細については、「復元する」を参照してください。

ビュータイプのドキュメント

Visual Studio Code から、作業中のリソースの種類のテンプレート参照を簡単に開くことができます。 これを行うには、リソース のシンボリック名の上にカーソルを置き、[ ビュータイプのドキュメント] を選択します。

Visual Studio Code Bicep ビュータイプのドキュメントのスクリーンショットです。

Bicep として貼り付ける

ARM テンプレートから Bicep ファイルに JSON スニペットを貼り付けることができます。 Visual Studio Code では、JSON が自動的に Bicep に逆コンパイルされます。 この機能は、Bicep 拡張機能バージョン 0.14.0 以降でのみ使用できます。 この機能は、既定で有効になっています。 この機能を無効にするには、「VS Code と Bicep 拡張」を参照してください。

この機能を使用すると、以下を貼り付けられます。

  • 完全な ARM JSON テンプレート。
  • 単一リソースまたは複数のリソース。
  • オブジェクト、配列、文字列などの JSON 値。 二重引用符を含む文字列は、単一引用符に変換されます。

たとえば、次の Bicep ファイルから始めることができます。

@description('Storage Account type')
@allowed([
  'Standard_LRS'
  'Standard_GRS'
  'Standard_ZRS'
  'Premium_LRS'
])
param storageAccountsku string = 'Standard_LRS'

@description('Location for all resources.')
param location string = resourceGroup().location

var storageAccountName = '${uniqueString(resourceGroup().id)}storage'

resource storageAccount 'Microsoft.Storage/storageAccounts@2021-08-01' = {
  name: storageAccountName
  location: location
  sku: {
    name: storageAccountsku
  }
  kind: 'StorageV2'
  tags: {
    ObjectName: storageAccountName
  }
  properties: {}
}

output storageAccountName string = storageAccountName

次の JSON を貼り付けます。

{
  "type": "Microsoft.Batch/batchAccounts",
  "apiVersion": "2021-06-01",
  "name": "[parameters('batchAccountName')]",
  "location": "[parameters('location')]",
  "tags": {
    "ObjectName": "[parameters('batchAccountName')]"
  },
  "properties": {
    "autoStorage": {
      "storageAccountId": "[resourceId('Microsoft.Storage/storageAccounts', variables('storageAccountName'))]"
    }
  }
}

Visual Studio Code では、JSON が自動的に Bicep に変換されます。 また、batchAccountName という名前のパラメーターを追加する必要があることに注意してください。

逆コンパイルは、Ctrl + Z キーを使用して元に戻すことができます。 元の JSON がファイルに表示されます。

次の手順

クイックスタートを調べるには、「クイックスタート: Visual Studio Code を使用して Bicep ファイルを作成する」をご覧ください。