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.

Screenshot of how to create Bicep configuration file in VS Code.

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.

Screenshot of the intellisense support in configuring bicepconfig.json.

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.ContosoRegistrycloud.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 :

A diagram showing resolving `bicepconfig.json` found in multiple parent folders.

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.jsonhasználatával. Ezután a fő Bicep-fájl a hozzá tartozóval bicepconfig.jsonlesz lefordítva. A következő forgatókönyvben modA.bicep a rendszer a bicepconfig.jsonA 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.

A diagram showing resolving `bicepconfig.json` found in multiple parent folders with the module scenario.

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.jsonroot 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.jsonfelü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.

Következő lépések