Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In diesem Artikel werden die Bicep-Funktionen zum Laden von Inhalten aus externen Dateien beschrieben.
loadDirectoryFileInfo
loadDirectoryFileInfo(directoryPath, [searchPattern])
Lädt grundlegende Informationen zu den Dateien eines Verzeichnisses als Bicep-Objekt. Das Laden der Datei erfolgt während der Kompilierung, nicht zur Laufzeit.
Namespace: sys.
Die Parameter
| Parameter | Erforderlich | Typ | Description |
|---|---|---|---|
| directoryPath | Yes | Schnur | Der Pfad ist relativ zur Bicep-Datei, die diese Funktion aufruft. Sie kann Variablen verwenden, vorausgesetzt, sie sind Kompilierungszeitkonstanten, können aber keine Parameter verwenden. |
| searchPattern | Nein | Schnur | Das Suchmuster, das beim Laden von Dateien verwendet werden soll. Dazu können Auch Wildcards gehören. |
Rückgabewert
Ein Array von Objekten, die jeweils eine Datei im Verzeichnis darstellen. Jedes Objekt enthält die folgenden Eigenschaften:
| Eigentum | Typ | Description |
|---|---|---|
| Basename | Schnur | Der Name der Datei. |
| Erweiterung | Schnur | Die Dateierweiterung. |
| relativePath (relativer Pfad) | Schnur | Der relative Pfad zur aktuellen Vorlage. |
Examples
Im folgenden Beispiel werden die Dateiinformationen für alle Bicep-Dateien im ./modules/ Verzeichnis geladen.
var dirFileInfo = loadDirectoryFileInfo('./modules/', '*.bicep')
output dirFileInfoOutput object[] = dirFileInfo
Der Ordner enthält nur eine Datei mit dem Namen appService.bicep. Die Ausgabe lautet wie folgt:
[{"relativePath":"modules/appService.bicep","baseName":"appService.bicep","extension":".bicep"}]
loadFileAsBase64
loadFileAsBase64(filePath)
Lädt die Datei als base64-Zeichenfolge.
Namespace: sys.
Die Parameter
| Parameter | Erforderlich | Typ | Description |
|---|---|---|---|
| filePath | Yes | Schnur | Der Pfad zur zu ladenden Datei. Der Pfad ist relativ zur bereitgestellten Bicep-Datei. Sie kann keine Variablen enthalten. |
Bemerkungen
Verwenden Sie diese Funktion, wenn Sie binäre Inhalte haben, die Sie in die Bereitstellung aufnehmen möchten. Anstatt die Datei manuell in eine Base64-Zeichenfolge zu codieren und sie ihrer Bicep-Datei hinzuzufügen, laden Sie die Datei mit dieser Funktion. Die Datei wird geladen, wenn die Bicep-Datei in eine JSON-Vorlage kompiliert wird. Variablen können nicht im Dateipfad verwendet werden, da sie beim Kompilieren der Vorlage nicht aufgelöst wurden. Während der Bereitstellung enthält die JSON-Vorlage den Inhalt der Datei als hartcodierte Zeichenfolge.
Für diese Funktion ist Bicep CLI Version 0.4.X oder höher erforderlich.
Die maximal zulässige Größe der Datei beträgt 96 KB.
Rückgabewert
Die Datei als base64-Zeichenfolge.
loadJsonContent
loadJsonContent(filePath, [jsonPath], [encoding])
Lädt die angegebene JSON-Datei als Any-Objekt.
Namespace: sys.
Die Parameter
| Parameter | Erforderlich | Typ | Description |
|---|---|---|---|
| filePath | Yes | Schnur | Der Pfad zur zu ladenden Datei. Der Pfad ist relativ zur bereitgestellten Bicep-Datei. Sie kann keine Variablen enthalten. |
| jsonPath | Nein | Schnur | JSONPath-Ausdruck, um anzugeben, dass nur ein Teil der Datei geladen wird. |
| encoding | Nein | Schnur | Die Dateicodierung. Der Standardwert ist utf-8. Die verfügbaren Optionen sind: iso-8859-1, , us-ascii, utf-16, , utf-16BEoder utf-8. |
Bemerkungen
Verwenden Sie diese Funktion, wenn Sie JSON-Inhalte oder minimierte JSON-Inhalte haben, die in einer separaten Datei gespeichert sind. Anstatt den JSON-Inhalt in Ihrer Bicep-Datei zu duplizieren, laden Sie den Inhalt mit dieser Funktion. Sie können einen Teil einer JSON-Datei laden, indem Sie einen JSON-Pfad angeben. Die Datei wird geladen, wenn die Bicep-Datei in die JSON-Vorlage kompiliert wird. Variablen können nicht im Dateipfad eingeschlossen werden, da sie beim Kompilieren der Vorlage nicht aufgelöst wurden. Während der Bereitstellung enthält die JSON-Vorlage den Inhalt der Datei als hartcodierte Zeichenfolge.
In VS Code sind die Eigenschaften des geladenen Objekts intellisense verfügbar. Sie können z. B. eine Datei mit Werten erstellen, die für viele Bicep-Dateien freigegeben werden sollen. Ein Beispiel ist in diesem Artikel dargestellt.
Für diese Funktion ist Bicep CLI Version 0.7.X oder höher erforderlich.
Die maximale zulässige Größe der Datei beträgt 1.048.576 Zeichen, einschließlich Zeilenenden.
Rückgabewert
Der Inhalt der Datei als Any-Objekt.
Examples
Im folgenden Beispiel wird eine JSON-Datei erstellt, die Werte für eine Netzwerksicherheitsgruppe enthält.
{
"description": "Allows SSH traffic",
"protocol": "Tcp",
"sourcePortRange": "*",
"destinationPortRange": "22",
"sourceAddressPrefix": "*",
"destinationAddressPrefix": "*",
"access": "Allow",
"priority": 100,
"direction": "Inbound"
}
Sie laden diese Datei und konvertieren sie in ein JSON-Objekt. Sie verwenden das Objekt, um der Ressource Werte zuzuweisen.
param ___location string = resourceGroup().___location
var nsgconfig = loadJsonContent('nsg-security-rules.json')
resource newNSG 'Microsoft.Network/networkSecurityGroups@2023-11-01' = {
name: 'example-nsg'
___location: ___location
properties: {
securityRules: [
{
name: 'SSH'
properties: nsgconfig
}
]
}
}
Sie können die Datei von Werten in anderen Bicep-Dateien wiederverwenden, die eine Netzwerksicherheitsgruppe bereitstellen.
loadYamlContent
loadYamlContent(filePath, [pathFilter], [encoding])
Lädt die angegebene YAML-Datei als Any-Objekt.
Namespace: sys.
Die Parameter
| Parameter | Erforderlich | Typ | Description |
|---|---|---|---|
| filePath | Yes | Schnur | Der Pfad zur zu ladenden Datei. Der Pfad ist relativ zur bereitgestellten Bicep-Datei. Sie kann keine Variablen enthalten. |
| pathFilter | Nein | Schnur | Der Pfadfilter ist ein JSONPath-Ausdruck, der angibt, dass nur ein Teil der Datei geladen wird. |
| encoding | Nein | Schnur | Die Dateicodierung. Der Standardwert ist utf-8. Die verfügbaren Optionen sind: iso-8859-1, , us-ascii, utf-16, , utf-16BEoder utf-8. |
Bemerkungen
Verwenden Sie diese Funktion, wenn Sie YAML-Inhalte oder minimierte YAML-Inhalte haben, die in einer separaten Datei gespeichert sind. Anstatt den YAML-Inhalt in Ihrer Bicep-Datei zu duplizieren, laden Sie den Inhalt mit dieser Funktion. Sie können einen Teil einer YAML-Datei laden, indem Sie einen Pfadfilter angeben. Die Datei wird geladen, wenn die Bicep-Datei in die YAML-Vorlage kompiliert wird. Variablen können nicht im Dateipfad eingeschlossen werden, da sie beim Kompilieren der Vorlage nicht aufgelöst wurden. Während der Bereitstellung enthält die YAML-Vorlage den Inhalt der Datei als hartcodierte Zeichenfolge.
In VS Code sind die Eigenschaften des geladenen Objekts intellisense verfügbar. Sie können z. B. eine Datei mit Werten erstellen, die für viele Bicep-Dateien freigegeben werden sollen. Ein Beispiel ist in diesem Artikel dargestellt.
Für diese Funktion ist Bicep CLI Version 0.16.X oder höher erforderlich.
Die maximale zulässige Größe der Datei beträgt 1.048.576 Zeichen, einschließlich Zeilenenden.
Rückgabewert
Der Inhalt der Datei als Any-Objekt.
Examples
Im folgenden Beispiel wird eine YAML-Datei erstellt, die Werte für eine Netzwerksicherheitsgruppe enthält.
description: "Allows SSH traffic"
protocol: "Tcp"
sourcePortRange: "*"
destinationPortRange: "22"
sourceAddressPrefix: "*"
destinationAddressPrefix: "*"
access: "Allow"
priority: 100
direction: "Inbound"
Sie laden diese Datei und konvertieren sie in ein JSON-Objekt. Sie verwenden das Objekt, um der Ressource Werte zuzuweisen.
param ___location string = resourceGroup().___location
var nsgconfig = loadYamlContent('nsg-security-rules.yaml')
resource newNSG 'Microsoft.Network/networkSecurityGroups@2023-11-01' = {
name: 'example-nsg'
___location: ___location
properties: {
securityRules: [
{
name: 'SSH'
properties: nsgconfig
}
]
}
}
Sie können die Datei von Werten in anderen Bicep-Dateien wiederverwenden, die eine Netzwerksicherheitsgruppe bereitstellen.
loadTextContent
loadTextContent(filePath, [encoding])
Lädt den Inhalt der angegebenen Datei als Zeichenfolge.
Namespace: sys.
Die Parameter
| Parameter | Erforderlich | Typ | Description |
|---|---|---|---|
| filePath | Yes | Schnur | Der Pfad zur zu ladenden Datei. Der Pfad ist relativ zur bereitgestellten Bicep-Datei. Es kann keine Variablen enthalten. |
| encoding | Nein | Schnur | Die Dateicodierung. Der Standardwert ist utf-8. Die verfügbaren Optionen sind: iso-8859-1, , us-ascii, utf-16, , utf-16BEoder utf-8. |
Bemerkungen
Verwenden Sie diese Funktion, wenn Sie Inhalte haben, die in einer separaten Datei gespeichert sind. Sie können den Inhalt laden, anstatt ihn in Ihrer Bicep-Datei zu duplizieren. Sie können z. B. ein Bereitstellungsskript aus einer Datei laden. Die Datei wird geladen, wenn die Bicep-Datei in die JSON-Vorlage kompiliert wird. Sie können keine Variablen im Dateipfad einfügen, da sie beim Kompilieren der Vorlage nicht aufgelöst wurden. Während der Bereitstellung enthält die JSON-Vorlage den Inhalt der Datei als hartcodierte Zeichenfolge.
Verwenden Sie die loadJsonContent() Funktion, um JSON-Dateien zu laden.
Für diese Funktion ist Bicep CLI Version 0.4.X oder höher erforderlich.
Die maximale zulässige Größe der Datei beträgt 131.072 Zeichen, einschließlich Zeilenenden.
Rückgabewert
Der Inhalt der Datei als Zeichenfolge.
Examples
Im folgenden Beispiel wird ein Skript aus einer Datei geladen und für ein Bereitstellungsskript verwendet.
resource exampleScript 'Microsoft.Resources/deploymentScripts@2023-08-01' = {
name: 'exampleScript'
___location: resourceGroup().___location
kind: 'AzurePowerShell'
identity: {
type: 'UserAssigned'
userAssignedIdentities: {
'/subscriptions/{sub-id}/resourcegroups/{rg-name}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{id-name}': {}
}
}
properties: {
azPowerShellVersion: '14.0'
scriptContent: loadTextContent('myscript.ps1')
retentionInterval: 'P1D'
}
}
Nächste Schritte
- Eine Beschreibung der Abschnitte in einer Bicep-Datei finden Sie unter Grundlegendes zur Struktur und Syntax von Bicep-Dateien.