Dela via


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-16BEeller 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-16BEeller 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-16BEeller 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