Instructies voor het gebruik van 'none'-verklaringen gebruiken en niet gebruiken

Alle Bicep parameterbestanden moeten een using of een using none declaratie bevatten.

Een Bicep parameterbestand gebruikt doorgaans een using instructie om het bestand te koppelen aan een Bicep-bestand, een JSON-Azure Resource Manager-sjabloon (ARM-sjabloon), een Bicep-module of een sjabloonspecificatie. Met deze koppeling kunnen de Bicep taalserver en compiler het parameterbestand valideren door te controleren op juiste namen, typen en vereiste waarden op basis van de invoer van de sjabloon.

Daarentegen geeft de using none statement expliciet aan dat het parameterbestand tijdens het compileren niet gekoppeld is aan een specifieke sjabloon. Deze instructie betekent dat de parameters niet worden gevalideerd op basis van een specifieke sjabloon en in plaats daarvan zijn bedoeld voor meer algemeen gebruik, zoals worden gebruikt door externe hulpprogramma's of als gedeelde, herbruikbare parametersets fungeren.

Notitie

Bicep-parametersbestanden worden alleen ondersteund in Bicep CLI versie 0.18.4 of hoger, Azure CLI versie 2.47.0 of hoger en Azure PowerShell versie 9.7.1 of hoger. De using none functie wordt ondersteund in Bicep CLI versie 0.31.0 of hoger.

Als u de instructie wilt gebruiken met JSON ARM-sjablonen, Bicep-modules en sjabloonspecificaties, moet u Bicep CLI versie 0.22.6 of hoger en Azure CLI versie 2.53.0 of hoger hebben.

De using-instructie

De syntaxis van de using instructie:

  • Bicep-bestanden gebruiken:

    using '<path>/<file-name>.bicep'
    
  • JSON ARM-sjablonen gebruiken:

    using '<path>/<file-name>.json'
    
  • Openbare modules gebruiken:

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

    Voorbeeld:

    using 'br/public:avm/res/storage/storage-account:0.9.0' 
    
    param name = 'mystorage'
    
  • Privémodules gebruiken:

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

    Voorbeeld:

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

    Een privémodule gebruiken met een alias die is gedefinieerd in een bicepconfig.json-bestand:

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

    Voorbeeld:

    using 'br/storageModule:storage:v1'
    
  • Sjabloonspecificaties gebruiken:

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

    Voorbeeld:

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

    Een sjabloonspecificatie gebruiken met een alias die is gedefinieerd in een bicepconfig.json-bestand:

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

    Voorbeeld:

    using 'ts/myStorage:storageSpec:1.0'
    

De instructie using none

De using none instructie in een Bicep-parametersbestand (.bicepparam) geeft aan dat het bestand niet is gekoppeld aan een specifieke Bicep-sjabloon tijdens het ontwerpen of compileren. Met deze instructie wordt het parameterbestand losgekoppeld van een bepaalde sjabloon, waardoor u meer flexibiliteit hebt bij het definiëren en gebruiken van parameters voor implementaties.

De syntaxis van de using none instructie:

using none

Plaats deze instructie aan het begin van een Bicep-parameterbestand om aan te geven dat er niet naar een specifieke sjabloon wordt verwezen.

Het belangrijkste voordeel van using none Bicep is in scenario's waarin parameterbestanden worden gegeneraliseerd, gedeeld of dynamisch geïntegreerd met sjablonen. Veelvoorkomende gebruiksvoorbeelden zijn:

  • Gecentraliseerde parameteropslagplaatsen

    Organisaties onderhouden vaak standaardparameterwaarden, zoals standaardregio's, naamconventies of globale tags, die worden gebruikt voor meerdere Bicep implementaties. Een bestand met using none Bicep parameters kan fungeren als een centraal archief voor deze gedeelde waarden, waardoor consistentie wordt verbeterd en duplicatie wordt geminimaliseerd. U kunt deze parameters programmatisch samenvoegen met sjabloonspecifieke waarden tijdens de implementatie.

    Een bestand met gedeelde Bicep-parameters kan bijvoorbeeld het volgende definiëren:

    using none
    
    param location = 'westus2'
    param environmentTag = 'production'
    param projectName = 'myApp'
    

    Daarnaast kunt u dit parameterbestand uitbreiden. Zie Parameterbestand uitbreiden voor meer informatie.

  • Dynamische generatie- en runtime-integratie

    In CI/CD-pijplijnen of automatiseringsscripts kunt u tijdens runtime parameterbestanden maken of deze koppelen aan sjablonen. Door een verwijzing naar een vaste sjabloon weg te laten, using none kunnen deze bestanden flexibel en aanpasbaar blijven aan verschillende implementatiecontexten.

Wanneer u using none opgeeft in een Bicep-parameterbestand, valideert de compiler de parameters niet tegen een specifieke Bicep-sjabloon. Dit betekent dat de compiler geen compileertijdwaarschuwingen of fouten genereert voor niet-overeenkomende namen of typen vanwege het ontbreken van een gekoppelde sjabloon. Deze ontkoppeling is echter alleen van toepassing tijdens het ontwerpen en compileren. Tijdens de implementatie vereist Azure Resource Manager (ARM) nog steeds zowel een Bicep-sjabloon als een parameterbestand. De ARM-engine voert validatie uit tijdens de implementatie door de parameters in het bestand op te lossen op basis van de parameters die zijn gedefinieerd in de doelsjabloon.

Volgende stappen