Dela via


Användning av och none-satser

En using eller en using none deklaration måste finnas i alla Bicep-parameterfiler.

En Bicep-parameterfil använder vanligtvis en using instruktion för att koppla filen till en Bicep-fil, en JSON Azure Resource Manager-mall (ARM-mall), en Bicep-modul eller en mallspecifikation. Med den här länkningen kan Bicep-språkservern och kompilatorn verifiera parameterfilen – och söka efter rätt namn, typer och nödvändiga värden baserat på mallens indata.

Instruktionen using none anger däremot uttryckligen att parameterfilen inte är kopplad till någon viss mall vid kompileringstillfället. Det innebär att parametrarna inte verifieras mot en specifik mall och i stället är avsedda för mer allmän användning, till exempel att förbrukas av externa verktyg eller fungera som delade, återanvändbara parameteruppsättningar.

Kommentar

Bicep-parameterfiler stöds endast i Bicep CLI version 0.18.4 eller senare, Azure CLI version 2.47.0 eller senare och Azure PowerShell version 9.7.1 eller senare. Funktionen using none stöds i Bicep CLI version 0.31.0 eller senare.

Om du vill använda -instruktionen med JSON ARM-mallar, Bicep-moduler och mallspecifikationer måste du ha Bicep CLI version 0.22.6 eller senare och Azure CLI version 2.53.0 eller senare.

Using-instruktionen

Syntaxen för instruktionen using

  • Så här använder du Bicep-filer:

    using '<path>/<file-name>.bicep'
    
  • Så här använder du JSON ARM-mallar:

    using '<path>/<file-name>.json'
    
  • Så här använder du offentliga moduler:

    using 'br/public:<file-path>:<tag>'
    

    Till exempel:

    using 'br/public:avm/res/storage/storage-account:0.9.0' 
    
    param name = 'mystorage'
    
  • Så här använder du privata moduler:

    using 'br:<acr-name>.azurecr.io/bicep/<file-path>:<tag>'
    

    Till exempel:

    using 'br:myacr.azurecr.io/bicep/modules/storage:v1'
    

    Så här använder du en privat modul med ett alias som definierats i en bicepconfig.json fil:

    using 'br/<alias>:<file>:<tag>'
    

    Till exempel:

    using 'br/storageModule:storage:v1'
    
  • Så här använder du mallspecifikationer:

    using 'ts:<subscription-id>/<resource-group-name>/<template-spec-name>:<tag>
    

    Till exempel:

    using 'ts:00000000-0000-0000-0000-000000000000/myResourceGroup/storageSpec:1.0'
    

    Så här använder du en mallspecifikation med ett alias som definierats i en bicepconfig.json fil:

    using 'ts/<alias>:<template-spec-name>:<tag>'
    

    Till exempel:

    using 'ts/myStorage:storageSpec:1.0'
    

Deklarationen using none

Instruktionen using none i en Bicep-parameterfil (.bicepparam) anger att filen inte är kopplad till en specifik Bicep-mall under redigering eller kompilering. Detta frikopplar parameterfilen från en viss mall, vilket ger större flexibilitet i hur parametrar definieras och används i olika distributioner.

Syntaxen för satsen using none:

using none

Den här instruktionen placeras i början av en Bicep-parameterfil för att signalera att ingen specifik mall refereras till.

Den främsta fördelen med using none i Bicep är scenarier där parameterfiler generaliseras, delas eller dynamiskt integreras med mallar. Vanliga användningsfall är:

  • Centraliserade parameterlagringsplatser

    Organisationer upprätthåller ofta standardparametervärden, till exempel standardregioner, namngivningskonventioner eller globala taggar, som används i flera Bicep-distributioner. En Bicep-parameterfil med ingen kan fungera som ett centralt arkiv för dessa delade värden, vilket förbättrar konsekvensen och minimerar dupliceringen. Dessa parametrar kan sedan kopplas programmatiskt med mallspecifika värden vid distributionstillfället.

    En delad Bicep-parameterfil kan till exempel definiera:

    using none
    
    param location = 'westus2'
    param environmentTag = 'production'
    param projectName = 'myApp'
    
  • Dynamisk generering och körningsintegrering

    I CI/CD-pipelines eller automationsskript kan parameterfiler skapas direkt eller associeras med mallar vid körning. Genom att utelämna en fast mallreferens using none kan dessa filer förbli flexibla och anpassningsbara till olika distributionskontexter.

När using none anges i en Bicep-parameterfil validerar kompilatorn inte parametrarna mot en specifik Bicep-mall, vilket innebär att inga kompileringstidsvarningar eller fel utlöses för namn eller typer som inte matchar varandra på grund av avsaknaden av en länkad mall. Den här avkopplingen gäller dock endast under redigering och kompilering – vid distributionstillfället kräver Azure Resource Manager (ARM) fortfarande både en Bicep-mall och en parameterfil. ARM-motorn utför validering under distributionen genom att matcha parametrarna i filen mot de som definierats i målmallen.

Nästa steg