Verwenden und Verwenden von None-Anweisungen

Alle Bicep Parameterdateien müssen eine using oder eine using none Deklaration enthalten.

Eine Bicep-Parameterdatei verwendet in der Regel eine using Anweisung, um die Datei mit einer Bicep Datei, einer JSON-Azure Resource Manager-Vorlage (ARM-Vorlage), einem Bicep Modul oder einer Vorlagenspezifikation zu verknüpfen. Diese Verknüpfung ermöglicht es dem Bicep Sprachserver und compiler, die Parameterdatei zu überprüfen, indem auf korrekte Namen, Typen und erforderliche Werte basierend auf den Eingaben der Vorlage überprüft wird.

Im Gegensatz dazu gibt die using none Anweisung explizit an, dass die Parameterdatei zur Kompilierungszeit nicht mit einer bestimmten Vorlage verknüpft ist. Diese Anweisung bedeutet, dass die Parameter nicht anhand einer bestimmten Vorlage überprüft werden und stattdessen für eine allgemeinere Verwendung vorgesehen sind, z. B. von externen Tools verwendet oder als freigegebene, wiederverwendbare Parametersätze dienen.

Hinweis

Bicep-Parameterdateien werden nur in Bicep CLI Version 0.18.4 oder höher, Azure CLI Version 2.47.0 oder höher und Azure PowerShell Version 9.7.1 oder höher unterstützt. Das using none Feature wird in Bicep CLI, Version 0.31.0 oder höher, unterstützt.

Um die Anweisung mit JSON ARM-Vorlagen, Bicep-Modulen und Vorlagenspezifikationen zu verwenden, müssen Sie über Bicep CLI Version 0.22.6 oder höher und Azure CLI Version 2.53.0 oder höher verfügen.

Die using-Anweisung

Die Syntax der using Anweisung:

  • So verwenden Sie Bicep-Dateien:

    using '<path>/<file-name>.bicep'
    
  • So verwenden Sie JSON-ARM-Vorlagen:

    using '<path>/<file-name>.json'
    
  • So verwenden Sie öffentliche Module:

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

    Beispiel:

    using 'br/public:avm/res/storage/storage-account:0.9.0' 
    
    param name = 'mystorage'
    
  • So verwenden Sie private Module:

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

    Beispiel:

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

    So verwenden Sie ein privates Modul mit einem Alias, der in einer bicepconfig.json-Datei definiert ist:

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

    Beispiel:

    using 'br/storageModule:storage:v1'
    
  • So verwenden Sie Vorlagenspezifikationen:

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

    Beispiel:

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

    So verwenden Sie eine Vorlagenspezifikation mit einem Alias, der in einer bicepconfig.json-Datei definiert ist:

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

    Beispiel:

    using 'ts/myStorage:storageSpec:1.0'
    

Die using None-Anweisung

Die using none Anweisung in einer Bicep-Parameterdatei (Bicepparam) gibt an, dass die Datei während der Erstellung oder Kompilierung nicht an eine bestimmte Bicep-Vorlage gebunden ist. Diese Anweisung entkoppelt die Parameterdatei von einer bestimmten Vorlage, wodurch eine größere Flexibilität bei der Definition und Verwendung von Parametern für bereitstellungsübergreifende Bereitstellungen ermöglicht wird.

Die Syntax der using none Anweisung:

using none

Platzieren Sie diese Anweisung am Anfang einer Bicep Parameterdatei, um zu signalisieren, dass auf keine bestimmte Vorlage verwiesen wird.

Der Hauptvorteil von using none Bicep liegt in Szenarien, in denen Parameterdateien generalisiert, freigegeben oder dynamisch in Vorlagen integriert werden. Zu den gängigen Anwendungsfällen gehören:

  • Zentrale Parameterverzeichnisse

    Organisationen verwalten häufig Standardparameterwerte , z. B. Standardregionen, Benennungskonventionen oder globale Tags, die für mehrere Bicep Bereitstellungen verwendet werden. Eine Bicep-Parameterdatei mit using none kann als zentrale Ablage für diese gemeinsam genutzten Werte dienen, die Konsistenz verbessern und Duplizierung minimieren. Sie können diese Parameter zum Zeitpunkt der Bereitstellung programmatisch mit vorlagenspezifischen Werten zusammenführen.

    Eine freigegebene Bicep-Parameterdatei kann z. B. Folgendes definieren:

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

    Darüber hinaus können Sie diese Parameterdatei erweitern. Weitere Informationen finden Sie in der Datei "Parameter erweitern".

  • Dynamische Erstellung und Laufzeitintegration

    In CI/CD-Pipelines oder Automatisierungsskripten können Sie Parameterdateien dynamisch erstellen oder sie zur Laufzeit mit Vorlagen verknüpfen. Durch Weglassen eines festen Vorlagenverweises using none können diese Dateien flexibel und an verschiedene Bereitstellungskontexte angepasst werden.

Wenn Sie in einer Bicep-Parameterdatei angebenusing none, überprüft der Compiler die Parameter nicht anhand einer bestimmten Bicep Vorlage. Dies bedeutet, dass der Compiler aufgrund des Fehlens einer verknüpften Vorlage keine Kompilierungszeitwarnungen oder Fehler für nicht übereinstimmende Namen oder Typen auslöst. Diese Entkopplung gilt jedoch nur während der Erstellung und Kompilierung. Zum Zeitpunkt der Bereitstellung erfordert Azure Resource Manager (ARM) weiterhin eine Bicep-Vorlage und eine Parameterdatei. Die ARM-Engine führt während der Bereitstellung eine Validierung durch, indem sie die Parameter in der Datei gegen die in der Zielvorlage definierten Parameter auflöst.

Nächste Schritte