Visual Studio Code を使用して Bicep ファイルを作成する
この記事では、Visual Studio Code を使用して Bicep ファイルを作成する方法を示します。
VS コードをインストールします。
Bicep の開発環境を設定するには、「Bicep ツールをインストールする」を参照してください。 これらの手順を完了すると、Visual Studio Code と Bicep 拡張機能を利用できるようになります。 また、最新の Azure CLI または最新の Azure PowerShell モジュールを用意します。
Bicep コマンド
Visual Studio Code には、いくつかの Bicep コマンドが付属しています。
VS Code で Bicep ファイルを開くか作成し、[表示] メニューを選択した後、[コマンド パレット] を選択します。 F1 キーまたは Ctrl + Shift + P キーの組み合わせを使用して、コマンド パレットを表示することもできます。 Bicep コマンドを一覧表示するには、「Bicep」と入力します。
コマンドには、次が含まれます。
- ARM テンプレートをビルドする
- パラメーター ファイルをビルドする
- Bicep 構成ファイルを作成する
- Bicep への逆コンパイル
- Bicep ファイルをデプロイする
- パラメーター ファイルの生成
- Kubernetes マニフェストのインポート (プレビュー)
- [リソースの挿入]
- Bicep Visualizer を開く
- サイドに Bicep ビジュアライザーを開きます
- JSON を Bicep として貼り付ける
- Bicep モジュールを復元する (強制)
- デプロイ ペインを表示する
- デプロイ ペインを横に表示する
Bicep ファイルを右クリックすると、コンテキスト メニューにも次のコマンドが表示されます:
JSON ファイルを右クリックした場合は、次のようになります。
ARM テンプレートをビルドする
build
コマンドは、Bicep ファイルを Azure Resource Manager テンプレート (ARM テンプレート) に変換します。 新しい JSON テンプレートは、同じファイル名の同じフォルダーに保存されます。 同じファイル名のファイルが存在する場合は、古いファイルが上書きされます。 詳しくは、「Bicep CLI コマンド」を参照してください。
パラメーター ファイルをビルドする
build
コマンドは、Bicep パラメーター ファイルを JSON パラメーター ファイルに変換します。 新しい JSON パラメーター ファイルは、同じフォルダー内に同じファイル名で保存されます。 同じファイル名のファイルが存在する場合は、古いファイルが上書きされます。 詳しくは、「Bicep CLI コマンド」を参照してください。
Bicep 構成ファイルを作成する
Bicep 構成ファイル (bicepconfig.json) を使用すると、Bicep 開発エクスペリエンスをカスタマイズできます。 bicepconfig.json
を複数のディレクトリに追加できます。 ディレクトリ階層内で Bicep ファイルに最も近い構成ファイルが使用されます。 このコマンドを選択すると、フォルダーを選択するためのダイアログが拡張機能によって開きます。 既定のフォルダーに、Bicep ファイルが格納されます。 フォルダーに bicepconfig.json
ファイルが既に存在する場合は、既存のファイルを上書きすることができます。
Bicep 構成ファイルを作成するには:
- Visual Studio Code を開きます。
- [表示] メニューから [コマンド パレット] を選択し (または Ctrl/Cmd + Shift + P を押して)、[Bicep: Bicep 構成ファイルの作成] を選択します。
- ファイルの配置先となるディレクトリを選択します。
- 終わったら構成ファイルを保存します。
Bicep への逆コンパイル
このコマンドは、ARM JSON テンプレートを Bicep ファイルに逆コンパイルして、それを ARM JSON テンプレートと同じディレクトリに配置します。 新しいファイルは、.bicep という拡張子の同じファイル名になります。 同じファイル名の Bicep ファイルが既に同じフォルダーに存在する場合、既存のファイルを上書きするか、コピーを作成するかを確認するメッセージが Visual Studio Code から表示されます。
Bicep ファイルをデプロイする
Bicep ファイルは、Visual Studio Code から直接デプロイできます。 コマンド パレットまたはコンテキスト メニューから[ Bicep ファイルを配置 ]を選択します。 拡張機能により、Azure へのサインイン、サブスクリプションの選択、リソース グループの作成/選択、およびパラメーター値の入力が求められます。
Note
Visual Studio Code の Bicep deploy コマンドは、認証を管理するために新しい組み込みの認証 API を使用します。 bicepconfig.json のクラウド プロファイルは使用されません。 カスタム クラウドにサインインするには、[管理] > [設定] > [拡張機能] > Microsoft アカウント] > [Microsoft ソブリン クラウド] を選択します。 現時点では、複数のサインイン アカウントはサポートされていません。
パラメーター ファイルの生成
このコマンドは、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 は、次のいずれかの方法で確認できます。
「Visual Studio Code 用の Azure Resource 拡張機能」を使用します。
Azure Portal を使用します。
Azure CLI または Azure PowerShell を使用する。
az resource list
テンプレートのエクスポートと同様に、プロセスによって使用できるリソースの作成が試行されます。 しかし、挿入されたテンプレートのほとんどは、Azure リソースのデプロイに使用する前に、いくつかの変更が必要です。
詳細については、「Bicep への ARM テンプレート JSON の逆コンパイル」を参照してください。
Bicep ビジュアライザー を開きます
このビジュアライザーには、Bicep ファイルに定義されているリソースと、リソースの依存関係情報が表示されます。 図は、Linux 仮想マシンの Bicep ファイルを視覚化しています。
ビジュアライザーを 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@2023-04-01' = {
name: storageAccountName
location: location
sku: {
name: storageAccountsku
}
kind: 'StorageV2'
tags: {
ObjectName: storageAccountName
}
properties: {}
}
output storageAccountName string = storageAccountName
次の JSON を貼り付けます。
{
"type": "Microsoft.Batch/batchAccounts",
"apiVersion": "2024-02-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 がファイルに表示されます。
Bicep モジュールを復元する
レジストリに発行されたモジュールを Bicep ファイルで使用する場合、復元コマンドにより、必要なすべてのモジュールのコピーがレジストリから取得されます。 これらのコピーはローカル キャッシュに格納されます。 詳細については、「復元する」を参照してください。
デプロイ ペインを表示する
Bicep デプロイ ペインは試験的な機能です。 詳細については、「デプロイ ペインの使用」を参照してください。
デプロイ ペインを Bicep ファイルと並べて開くこともできます。
ドキュメントを表示する
Visual Studio Code から、作業中のリソースの種類のテンプレート参照を開くことができます。 これを行うには、リソースのシンボリック名の上にカーソルを置いて、[ドキュメントの表示] を選択します。
定義へ移動
モジュールを定義する際には、参照されるファイルの種類に関係なく (それがローカル ファイル、モジュール レジストリ ファイル、テンプレート スペックのいずれであっても)、モジュール パスを選択または強調表示した後、[F12] を押すことでそのファイルを開くことができます。 参照されるファイルが Azure Verified Modules(AVM) の場合は、コンパイル済みの JSON または Bicep ファイルを切り替えることができます。 プライベート レジストリ モジュールの Bicep ファイルを開くには、そのモジュールが WithSource
スイッチが有効な状態でレジストリに発行されていることを確認してください。 詳細については、「レジストリにファイルを発行する」を参照してください。 プライベート モジュール レジストリから Bicep ファイルを開くには、Visual Studio Code Bicep 拡張機能のバージョン 0.27.1 以降が必要となります。
トラブルシューティング
Problems
ペインには、以下のように Bicep ファイル内のエラーと警告の要約が表示されます。
エラー/警告コードの一覧については、「Bicep のエラー/警告コード」をご覧ください。
次のステップ
クイックスタート チュートリアルを調べるには、「クイックスタート: Visual Studio Code を使用して Bicep ファイルを作成する」を参照してください。