Användning av och none-satser

Alla Bicep parameterfiler måste innehålla en using eller en using none deklaration.

En Bicep-parameterfil använder vanligtvis en using -instruktion för att länka 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åkserver och kompilator verifiera parameterfilen genom att 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 länkad till någon viss mall vid kompileringstillfället. Den här instruktionen 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. Den här instruktionen frikopplar parameterfilen från en viss mall, vilket ger större flexibilitet i hur du definierar och använder parametrar mellan distributioner.

Syntaxen för instruktionen using none

using none

Placera den här instruktionen 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 using none kan fungera som ett centralt arkiv för dessa delade värden, vilket förbättrar konsekvensen och minimerar dupliceringen. Du kan programmatiskt sammanfoga dessa parametrar 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'
    

    Dessutom kan du utöka den här parameterfilen. Mer information finns i Utöka parameterfilen.

  • Dynamisk generering och körningsintegrering

    I CI/CD-pipelines eller automatiseringsskript kan du skapa parameterfiler i farten eller associera dem med mallar under körning. Genom att utelämna en fast mallreferens using none kan dessa filer förbli flexibla och anpassningsbara till olika distributionskontexter.

När du anger using none i en Bicep parameterfil verifierar kompilatorn inte parametrarna mot en specifik Bicep mall. Det innebär att kompilatorn inte genererar några kompileringstidsvarningar eller fel för namn eller typer som inte stämmer överens på grund av avsaknaden av en länkad mall. Den här avkopplingen gäller dock endast vid redigering och kompilering. Vid distributionen 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