Konfigurieren Ihrer Bicep-Umgebung
Bicep unterstützt eine optionale Konfigurationsdatei namens bicepconfig.json. In dieser Datei können Sie Werte hinzufügen, die Ihre Bicep-Entwicklungserfahrung anpassen. Diese Datei wird mit der Standardkonfigurationsdateizusammengeführt. Weitere Informationen finden Sie unter Grundlegendes zum Zusammenführungsprozess. Um eine Konfiguration anzupassen, erstellen Sie eine Konfigurationsdatei im selben Verzeichnis oder in einem übergeordneten Verzeichnis Ihrer Bicep-Dateien. Wenn mehrere übergeordnete Verzeichnisse vorhanden sind, die bicepconfig.json-Dateien enthalten, verwendet Bicep die Konfiguration aus dem nächstgelegenen Verzeichnis. Weitere Informationen finden Sie unter Grundlegendes zum Zusammenführungsprozess.
Informationen zum Konfigurieren von Bicep-Erweiterungseinstellungen finden Sie unter Visual Studio Code und die Bicep-Erweiterung.
Erstellen der Konfigurationsdatei in Visual Studio Code
Sie können die Konfigurationsdatei mithilfe eines beliebigen Text-Editors erstellen.
Öffnen Sie zum Erstellen einer bicepconfig.json-Datei in Visual Studio Code die Befehlspalette ([STRG/BEFEHL]+[UMSCHALT]+P), und wählen Sie dann Bicep: Bicep-Konfigurationsdatei erstellen aus. Weitere Informationen finden Sie unterErstellen einer Bicep-Konfigurationsdatei.
Die Bicep-Erweiterung für Visual Studio Code unterstützt IntelliSense für bicepconfig.json-Dateien. Verwenden Sie IntelliSense, um verfügbare Eigenschaften und Werte zu erkunden.
Grundlegendes zum Zusammenführungsprozess
Die bicepconfig.json-Datei wird einem rekursiven progressiven Zusammenführungsprozess mit der Standardkonfigurationsdatei unterzogen. Während des Zusammenführens untersucht Bicep jeden Pfad in beiden Konfigurationen. Wenn ein Pfad in der Standardkonfiguration nicht vorhanden ist, werden der Pfad und der zugehörige Wert im Endergebnis hinzugefügt. Wenn in der Standardkonfiguration ein Pfad mit einem anderen Wert vorhanden ist, hat der Wert aus bicepconfig.json Vorrang im zusammengeführten Ergebnis.
Betrachten Sie ein Szenario, in dem die Standardkonfiguration wie folgt definiert ist:
{
"cloud": {
...
"credentialPrecedence": [
"AzureCLI",
"AzurePowerShell"
]
},
"moduleAliases": {
"ts": {},
"br": {
"public": {
"registry": "mcr.microsoft.com",
"modulePath": "bicep"
}
}
},
...
}
Die bicepconfig.json-Datei ist wie folgt definiert:
{
"cloud": {
"credentialPrecedence": [
"AzurePowerShell",
"AzureCLI"
]
},
"moduleAliases": {
"br": {
"ContosoRegistry": {
"registry": "contosoregistry.azurecr.io"
},
"CoreModules": {
"registry": "contosoregistry.azurecr.io",
"modulePath": "bicep/modules/core"
}
}
}
}
Die resultierende zusammengeführte Konfiguration wäre:
{
"cloud": {
...
"credentialPrecedence": [
"AzurePowerShell",
"AzureCLI"
]
},
"moduleAliases": {
"ts": {},
"br": {
"public": {
"registry": "mcr.microsoft.com",
"modulePath": "bicep"
},
"ContosoRegistry": {
"registry": "contosoregistry.azurecr.io"
},
"CoreModules": {
"registry": "contosoregistry.azurecr.io",
"modulePath": "bicep/modules/core"
}
}
},
...
}
Im vorherigen Beispiel wird der Wert von cloud.credentialPrecedence
ersetzt, während die Werte von cloud.moduleAliases.ContosoRegistry
und cloud.moduleAliases.CoreModules
in der zusammengeführten Konfiguration angefügt werden.
Grundlegendes zum Prozess der Dateiauflösung
Die bicepconfig.json-Datei kann in demselben Verzeichnis oder einem übergeordneten Verzeichnis Ihrer Bicep-Dateien platziert werden. Wenn mehrere übergeordnete Verzeichnisse vorhanden sind, die bicepconfig.json-Dateien enthalten, verwendet Bicep die Konfigurationsdatei aus dem nächstgelegenen Verzeichnis, beispielsweise in der angegebenen Ordnerstruktur, in der jeder Ordner über eine bicepconfig.json-Datei verfügt:
Wenn Sie main.bicep im Ordner child
kompilieren, wird die bicepconfig.json-Datei im Ordner child
verwendet. Die Konfigurationsdateien im Ordner parent
und der Ordner root
werden ignoriert. Wenn der Ordner child
keine Konfigurationsdatei enthält, sucht Bicep im Ordner parent
nach einer Konfiguration und dann nach dem root
Ordner. Wenn keine Konfigurationsdatei in einem der Ordner gefunden wird, verwendet Bicep standardmäßig die Standardwerte.
Im Kontext einer Bicep-Datei, die mehrere Module aufruft, wird jedes Modul mit der nächstgelegenen bicepconfig.json-Datei kompiliert. Anschließend wird die Bicep-Hauptdatei mit der entsprechenden bicepconfig.json-Datei kompiliert. Im folgenden Szenario wird modA.bicep
mithilfe der im Ordner A
gespeicherten bicepconfig.json-Datei kompiliert. Außerdem wird modB.bicep
mit der bicepconfig.json-Datei im Ordner B
kompiliert, und schließlich wird main.bicep mithilfe der bicepconfig.json-Datei im Ordner root
kompiliert.
Wenn keine bicepconfig.json-Datei in den Ordnern A
und B
vorhanden ist, werden alle drei Bicep-Dateien mithilfe der im Ordner root
gefundenen bicepconfig.json-Datei kompiliert. Wenn bicepconfig.json in keinem der Ordner vorhanden ist, werden bei der Kompilierung standardmäßig die Standardwerte verwendet.
Konfigurieren von Bicep-Modulen
Bei der Arbeit mit Modulen können Sie Aliase für Modulpfade hinzufügen. Diese Aliase vereinfachen Ihre Bicep-Datei, da Sie keine komplizierten Pfade wiederholen müssen. Sie können auch die Rangfolge von Cloudprofil und Anmeldeinformationen für die Authentifizierung bei Azure über die Bicep-Befehlszeilenschnittstelle und Visual Studio Code konfigurieren. Die Anmeldeinformationen werden verwendet, um Module in Registrierungen zu veröffentlichen und externe Module im lokalen Cache wiederherzustellen, wenn die Funktion „Ressource einfügen“ verwendet wird. Weitere Informationen finden Sie unter Hinzufügen von Moduleinstellungen zur Bicep-Konfiguration.
Konfigurieren von Linter-Regeln
Der Bicep-Linter überprüft Bicep-Dateien auf Syntaxfehler und Verstöße gegen bewährte Methoden. Sie können die bicepconfig.json-Datei ändern, um die Standardeinstellungen für die Überprüfung einer Bicep-Datei zu überschreiben. Weitere Informationen finden Sie unter Hinzufügen von Lintereinstellungen zur Bicep-Konfiguration.
Aktivieren experimenteller Features
Sie können experimentelle Features aktivieren, indem Sie der bicepconfig.json-Datei den folgenden Abschnitt hinzufügen. Die Verwendung experimenteller Funktionen aktiviert automatisch die Codegenerierung für die Sprachversion 2.0.
Hier ist ein Beispiel für die Aktivierungsfunktionen „assertions“ und „testFramework“.
{
"experimentalFeaturesEnabled": {
"assertions": true,
"testFramework": true
}
}
Weitere Informationen zu den experimentellen Bicep-Features finden Sie unter Experimentelle Features.
Nächste Schritte
- Hier erfahren Sie, wie Sie Moduleinstellungen und Lintereinstellungen in der Bicep-Konfigurationsdatei hinzufügen.
- Hier erfahren Sie mehr über den Bicep-Linter.