Bicep は当初、Azure Resource Manager JSON テンプレートと比較して作成エクスペリエンスを強化し、Azure リソースの展開と管理を簡素化するために作成されました。 Bicep 拡張機能は、この基盤に基づいて構築されており、Bicep ファイルが Azure Resource Manager のスコープを超えてリソースを参照できるようにします。 この記事では、Bicep 拡張機能の使用方法について説明します。
Bicep 拡張機能をインポートするための構文は次のとおりです。
extension <extension-name>
構成を必要とする Bicep 拡張機能をインポートするための構文は次のとおりです:
extension <extension-name> with {
<extension-properties>
}
例については、Bicep Kubernetes 拡張機能と Microsoft Graph 拡張機能に関するページを参照してください。
Troubleshooting
特定の条件下で入れ子になったモジュール内で Graph 拡張機能 (または OAuth On-Behalf-Of フローを必要とする任意のBicep拡張機能) を使用しようとすると、デプロイが 401 AuthenticationFailed エラーで失敗する可能性があります。
この制限は、入れ子になったモジュールが次のいずれかの条件を満たしている場合に特に発生します。
- テンプレート スペックとして構成されます。
- templateLink を使用します。親テンプレートは、Bicepを介して生成されるのではなく、手動で作成されます。
これらのシナリオでは、拡張機能に必要な認証ハンドシェイクを完了できないため、デプロイエラーが発生します。
回避策として、ルート Bicep ファイル レベルで拡張機能をインポートできます。 例えば次が挙げられます。
extension microsoftGraphV1
module graphModule 'ts/mySpecs:graph-module:1.0.0' = { // Uses the Graph extension internally
params: {
...
}
}
関連するコンテンツ
- Bicep のデータ型については、「データ型」を参照してください。
- Bicep 関数については、「Bicep 関数」を参照してください。
- Bicep Kubernetes 拡張機能の使用方法については、「Bicep Kubernetes 拡張機能」を参照してください。
- Kubernetes 拡張機能のチュートリアルについては、「クイックスタート - Bicep Kubernetes 拡張機能を使用して Azure アプリケーションを Azure Kubernetes サービスにデプロイする」を参照してください。
- Microsoft Graph拡張機能の詳細については、「Microsoft Graph extensionを参照してください。