A Bicep-környezet konfigurálása
A Bicep támogatja a nem kötelező konfigurációs fájlt.bicepconfig.json
Ebben a fájlban olyan értékeket adhat hozzá, amelyek testre szabják a Bicep fejlesztési élményét. Ez a fájl egyesül az alapértelmezett konfigurációs fájllal. További információ: Az egyesítési folyamat ismertetése. A konfiguráció testreszabásához hozzon létre egy konfigurációs fájlt ugyanabban a könyvtárban vagy a Bicep-fájlok szülőkönyvtárában. Ha több szülőkönyvtár is tartalmaz bicepconfig.json
fájlokat, a Bicep a legközelebbi konfigurációt használja. További információ: A fájlfeloldási folyamat ismertetése.
A Bicep-bővítmény beállításainak konfigurálásához tekintse meg a VS Code és a Bicep bővítményt.
A konfigurációs fájl létrehozása a Visual Studio Code-ban
A konfigurációs fájl létrehozásához bármilyen szövegszerkesztőt használhat.
Ha fájlt szeretne létrehozni bicepconfig.json
a Visual Studio Code-ban, nyissa meg a parancskatalógust ([CTRL/CMD]+[SHIFT]+P), majd válassza a Bicep: Bicep konfigurációs fájl létrehozása lehetőséget. További információ: Bicep-konfigurációs fájl létrehozása.
A Visual Studio Code Bicep-bővítménye támogatja a fájl intellisense-t bicepconfig.json
. Az intellisense használatával felderítheti a rendelkezésre álló tulajdonságokat és értékeket.
Az egyesítési folyamat ismertetése
A bicepconfig.json
fájl rekurzív alulról felfelé egyesítési folyamaton megy keresztül az alapértelmezett konfigurációs fájllal. Az egyesítési folyamat során a Bicep mindkét konfigurációban megvizsgálja az egyes útvonalakat. Ha egy elérési út nem szerepel az alapértelmezett konfigurációban, az elérési út és a hozzá tartozó érték hozzáadódik a végeredményhez. Ezzel szemben, ha egy elérési út az alapértelmezett konfigurációban eltérő értékkel rendelkezik, az eredményben bicepconfig.json
szereplő érték elsőbbséget élvez az egyesített eredményben.
Fontolja meg azt a forgatókönyvet, amelyben az alapértelmezett konfiguráció a következőképpen van definiálva:
{
"cloud": {
...
"credentialPrecedence": [
"AzureCLI",
"AzurePowerShell"
]
},
"moduleAliases": {
"ts": {},
"br": {
"public": {
"registry": "mcr.microsoft.com",
"modulePath": "bicep"
}
}
},
...
}
A bicepconfig.json
definíció pedig a következő:
{
"cloud": {
"credentialPrecedence": [
"AzurePowerShell",
"AzureCLI"
]
},
"moduleAliases": {
"br": {
"ContosoRegistry": {
"registry": "contosoregistry.azurecr.io"
},
"CoreModules": {
"registry": "contosoregistry.azurecr.io",
"modulePath": "bicep/modules/core"
}
}
}
}
Az eredményül kapott egyesített konfiguráció a következő:
{
"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"
}
}
},
...
}
Az előző példában a rendszer lecseréli az értékeket cloud.credentialPrecedence
, míg az cloud.moduleAliases.ContosoRegistry
cloud.moduleAliases.CoreModules
egyesített konfiguráció értéke és hozzáfűzése történik.
A fájlfeloldási folyamat ismertetése
A bicepconfig.json
fájl ugyanabban a könyvtárban vagy a Bicep-fájlok szülőkönyvtárában helyezhető el. Ha több szülőkönyvtár is tartalmaz bicepconfig.json
fájlokat, a Bicep a legközelebbi konfigurációs fájlt használja. Például abban a mappastruktúrában, amelyben minden mappa rendelkezik fájllal bicepconfig.json
:
Ha a child
mappában fordítmain.bicep
, a rendszer a bicepconfig.json
mappában lévő child
fájlt használja. A rendszer figyelmen kívül hagyja a parent
mappában és a root
mappában lévő konfigurációs fájlokat. Ha a child
mappa nem tartalmaz konfigurációs fájlt, a Bicep egy konfigurációt keres a parent
mappában, majd a root
mappát. Ha egyik mappában sem található konfigurációs fájl, a Bicep alapértelmezés szerint az alapértelmezett értékeket használja.
A több modult invokáló Bicep-fájl kontextusában minden modul fordításon megy keresztül a legközelebbi bicepconfig.json
használatával. Ezután a fő Bicep-fájl a hozzá tartozóval bicepconfig.json
lesz lefordítva. A következő forgatókönyvben modA.bicep
a rendszer a bicepconfig.json
A
mappában modB.bicep
található, a mappában B
lévővel bicepconfig.json
együtt fordítja le, végül main.bicep
pedig a bicepconfig.json
mappában lévővel root
fordítja le.
Ha nincs bicepconfig.json
fájl a mappában és B
a A
mappában, a rendszer mind a három Bicep-fájlt lefordítja a bicepconfig.json
root
mappában található fájl használatával. Ha bicepconfig.json
egyik mappában sem szerepel, a fordítási folyamat alapértelmezés szerint az alapértelmezett értékeket használja.
Bicep-modulok konfigurálása
A modulok használatakor aliasokat adhat hozzá a modul elérési útjaihoz. Ezek az aliasok leegyszerűsítik a Bicep-fájlt, mert nem kell bonyolult útvonalakat megismételnie. A felhőprofil és a hitelesítő adatok elsőbbséget is konfigurálhat az Azure-ba való hitelesítéshez a Bicep CLI-ből és a Visual Studio Code-ból. A hitelesítő adatokkal modulok tehetők közzé a regisztrációs adatbázisokban, és visszaállíthatók a külső modulok a helyi gyorsítótárba az erőforrásfüggvény beszúrásakor. További információ: Modulbeállítások hozzáadása a Bicep konfigurációhoz.
Linter-szabályok konfigurálása
A Bicep-linter szintaxishibákat és ajánlott eljárásokat keres a Bicep-fájlokban. A Bicep-fájlérvényesítés alapértelmezett beállításait a módosítással bicepconfig.json
felülbírálhatja. További információ: Linter-beállítások hozzáadása a Bicep konfigurációhoz.
Kísérleti funkciók engedélyezése
A kísérleti funkciók engedélyezéséhez adja hozzá a következő szakaszt a bicepconfig.json
fájlhoz.
Íme egy példa a "compileTimeImports" és a "userDefinedFunctions" funkciók engedélyezésére.
{
"experimentalFeaturesEnabled": {
"compileTimeImports": true,
"userDefinedFunctions": true
}
}
A kísérleti funkciók aktuális készletéről további információt a Kísérleti funkciók című témakörben talál.