Filfunktioner för Bicep
I den här artikeln beskrivs Bicep-funktionerna för att läsa in innehåll från externa filer.
loadFileAsBase64
loadFileAsBase64(filePath)
Läser in filen som en base64-sträng.
Namnområde: sys.
Parametrar
Parameter | Obligatoriskt | Type | Beskrivning |
---|---|---|---|
Filepath | Ja | sträng | Sökvägen till filen som ska läsas in. Sökvägen är relativ till den distribuerade Bicep-filen. Det kan inte innehålla variabler. |
Kommentarer
Använd den här funktionen när du har binärt innehåll som du vill inkludera i distributionen. Läs in filen med den här funktionen i stället för att manuellt koda filen till en base64-sträng och lägga till den i Bicep-filen. Filen läses in när Bicep-filen kompileras till en JSON-mall. Du kan inte använda variabler i filsökvägen eftersom de inte har lösts vid kompilering till mallen. Under distributionen innehåller JSON-mallen innehållet i filen som en hårdkodad sträng.
Den här funktionen kräver Bicep CLI version 0.4.X eller senare.
Den maximala tillåtna storleken på filen är 96 kB.
Returvärde
Filen som en base64-sträng.
loadJsonContent
loadJsonContent(filePath, [jsonPath], [encoding])
Läser in den angivna JSON-filen som ett Alla-objekt.
Namnområde: sys.
Parametrar
Parameter | Obligatoriskt | Type | Beskrivning |
---|---|---|---|
Filepath | Ja | sträng | Sökvägen till filen som ska läsas in. Sökvägen är relativ till den distribuerade Bicep-filen. Det kan inte innehålla variabler. |
jsonPath | Nej | sträng | JSONPath-uttryck för att ange att endast en del av filen läses in. |
Kodning | Nej | sträng | Filkodningen. Standardvärdet är utf-8 . De tillgängliga alternativen är: iso-8859-1 , us-ascii , utf-16 , utf-16BE eller utf-8 . |
Kommentarer
Använd den här funktionen när du har JSON-innehåll eller minifierat JSON-innehåll som lagras i en separat fil. Läs in innehållet med den här funktionen i stället för att duplicera JSON-innehållet i Bicep-filen. Du kan läsa in en del av en JSON-fil genom att ange en JSON-sökväg. Filen läses in när Bicep-filen kompileras till JSON-mallen. Du kan inte inkludera variabler i filsökvägen eftersom de inte har lösts vid kompilering till mallen. Under distributionen innehåller JSON-mallen innehållet i filen som en hårdkodad sträng.
I VS Code är egenskaperna för det inlästa objektet tillgängliga intellisense. Du kan till exempel skapa en fil med värden som ska delas över många Bicep-filer. Ett exempel visas i den här artikeln.
Den här funktionen kräver Bicep CLI version 0.7.X eller senare.
Den maximala tillåtna storleken på filen är 1 048 576 tecken, inklusive radslut.
Returvärde
Innehållet i filen som ett Valfritt objekt.
Exempel
I följande exempel skapas en JSON-fil som innehåller värden för en nätverkssäkerhetsgrupp.
{
"description": "Allows SSH traffic",
"protocol": "Tcp",
"sourcePortRange": "*",
"destinationPortRange": "22",
"sourceAddressPrefix": "*",
"destinationAddressPrefix": "*",
"access": "Allow",
"priority": 100,
"direction": "Inbound"
}
Du läser in filen och konverterar den till ett JSON-objekt. Du använder -objektet för att tilldela värden till resursen.
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
}
]
}
}
Du kan återanvända filen med värden i andra Bicep-filer som distribuerar en nätverkssäkerhetsgrupp.
loadYamlContent
loadYamlContent(filePath, [pathFilter], [encoding])
Läser in den angivna YAML-filen som ett valfritt objekt.
Namnområde: sys.
Parametrar
Parameter | Obligatoriskt | Type | Beskrivning |
---|---|---|---|
Filepath | Ja | sträng | Sökvägen till filen som ska läsas in. Sökvägen är relativ till den distribuerade Bicep-filen. Det kan inte innehålla variabler. |
pathFilter | Nej | sträng | Sökvägsfiltret är ett JSONPath-uttryck för att ange att endast en del av filen läses in. |
Kodning | Nej | sträng | Filkodningen. Standardvärdet är utf-8 . De tillgängliga alternativen är: iso-8859-1 , us-ascii , utf-16 , utf-16BE eller utf-8 . |
Kommentarer
Använd den här funktionen när du har YAML-innehåll eller minifierat YAML-innehåll som lagras i en separat fil. Läs in innehållet med den här funktionen i stället för att duplicera YAML-innehållet i Bicep-filen. Du kan läsa in en del av en YAML-fil genom att ange ett sökvägsfilter. Filen läses in när Bicep-filen kompileras till YAML-mallen. Du kan inte inkludera variabler i filsökvägen eftersom de inte har lösts vid kompilering till mallen. Under distributionen innehåller YAML-mallen innehållet i filen som en hårdkodad sträng.
I VS Code är egenskaperna för det inlästa objektet tillgängliga intellisense. Du kan till exempel skapa en fil med värden som ska delas över många Bicep-filer. Ett exempel visas i den här artikeln.
Den här funktionen kräver Bicep CLI version 0.16.X eller senare.
Den maximala tillåtna storleken på filen är 1 048 576 tecken, inklusive radslut.
Returvärde
Innehållet i filen som ett Valfritt objekt.
Exempel
I följande exempel skapas en YAML-fil som innehåller värden för en nätverkssäkerhetsgrupp.
description: "Allows SSH traffic"
protocol: "Tcp"
sourcePortRange: "*"
destinationPortRange: "22"
sourceAddressPrefix: "*"
destinationAddressPrefix: "*"
access: "Allow"
priority: 100
direction: "Inbound"
Du läser in filen och konverterar den till ett JSON-objekt. Du använder -objektet för att tilldela värden till resursen.
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
}
]
}
}
Du kan återanvända filen med värden i andra Bicep-filer som distribuerar en nätverkssäkerhetsgrupp.
loadTextContent
loadTextContent(filePath, [encoding])
Läser in innehållet i den angivna filen som en sträng.
Namnområde: sys.
Parametrar
Parameter | Obligatoriskt | Type | Beskrivning |
---|---|---|---|
Filepath | Ja | sträng | Sökvägen till filen som ska läsas in. Sökvägen är relativ till den distribuerade Bicep-filen. Den får inte innehålla variabler. |
Kodning | Nej | sträng | Filkodningen. Standardvärdet är utf-8 . De tillgängliga alternativen är: iso-8859-1 , us-ascii , utf-16 , utf-16BE eller utf-8 . |
Kommentarer
Använd den här funktionen när du har innehåll som lagras i en separat fil. Du kan läsa in innehållet i stället för att duplicera det i Bicep-filen. Du kan till exempel läsa in ett distributionsskript från en fil. Filen läses in när Bicep-filen kompileras till JSON-mallen. Du kan inte ta med några variabler i filsökvägen eftersom de inte har lösts när du kompilerar till mallen. Under distributionen innehåller JSON-mallen innehållet i filen som en hårdkodad sträng.
loadJsonContent()
Använd funktionen för att läsa in JSON-filer.
Den här funktionen kräver Bicep CLI version 0.4.X eller senare.
Den maximala tillåtna storleken på filen är 131 072 tecken, inklusive radslut.
Returvärde
Innehållet i filen som en sträng.
Exempel
Följande exempel läser in ett skript från en fil och använder det för ett distributionsskript.
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: '8.3'
scriptContent: loadTextContent('myscript.ps1')
retentionInterval: 'P1D'
}
}
Nästa steg
- En beskrivning av avsnitten i en Bicep-fil finns i Förstå strukturen och syntaxen för Bicep-filer.