Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
I den här artikeln beskrivs Bicep-funktionerna för att läsa in innehåll från externa filer.
loadDirectoryFileInfo
loadDirectoryFileInfo(directoryPath, [searchPattern])
Läser in grundläggande information om en katalogs filer som Bicep-objekt. Filinläsning sker under kompilering, inte vid körning.
Namnområde: sys.
Parameterar
| Parameter | Krävs | Typ | Description | 
|---|---|---|---|
| directoryPath | Yes | snöre | Sökvägen är relativ till Bicep-filen som anropar den här funktionen. Den kan använda variabler, förutsatt att de är kompileringskonstanter, men det kan inte använda parametrar. | 
| searchPattern | Nej | snöre | Sökmönstret som ska användas vid inläsning av filer. Detta kan omfatta jokertecken. | 
Returvärde
En matris med objekt som var och en representerar en fil i katalogen. Varje objekt innehåller följande egenskaper:
| Fastighet | Typ | Description | 
|---|---|---|
| baseName | snöre | Namnet på filen. | 
| utbyggnad | snöre | Filens tillägg. | 
| relativePath | snöre | Den relativa sökvägen till den aktuella mallen. | 
Examples
I följande exempel läses filinformationen in för alla Bicep-filer i ./modules/ katalogen.
var dirFileInfo = loadDirectoryFileInfo('./modules/', '*.bicep')
output dirFileInfoOutput object[] = dirFileInfo
Mappen innehåller bara en fil med namnet appService.bicep. Resultatet är:
[{"relativePath":"modules/appService.bicep","baseName":"appService.bicep","extension":".bicep"}]
loadFileAsBase64
loadFileAsBase64(filePath)
Läser in filen som en base64-sträng.
Namnområde: sys.
Parameterar
| Parameter | Krävs | Typ | Description | 
|---|---|---|---|
| filePath | Yes | snöre | 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. | 
Anmärkningar
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.
Parameterar
| Parameter | Krävs | Typ | Description | 
|---|---|---|---|
| filePath | Yes | snöre | 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 | snöre | JSONPath-uttryck för att ange att endast en del av filen läses in. | 
| encoding | Nej | snöre | Filkodningen. Standardvärdet är utf-8. De tillgängliga alternativen är:iso-8859-1,us-ascii,utf-16,utf-16BEellerutf-8. | 
Anmärkningar
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.
Examples
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.
Parameterar
| Parameter | Krävs | Typ | Description | 
|---|---|---|---|
| filePath | Yes | snöre | 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 | snöre | Sökvägsfiltret är ett JSONPath-uttryck för att ange att endast en del av filen läses in. | 
| encoding | Nej | snöre | Filkodningen. Standardvärdet är utf-8. De tillgängliga alternativen är:iso-8859-1,us-ascii,utf-16,utf-16BEellerutf-8. | 
Anmärkningar
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.
Examples
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.
Parameterar
| Parameter | Krävs | Typ | Description | 
|---|---|---|---|
| filePath | Yes | snöre | 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. | 
| encoding | Nej | snöre | Filkodningen. Standardvärdet är utf-8. De tillgängliga alternativen är:iso-8859-1,us-ascii,utf-16,utf-16BEellerutf-8. | 
Anmärkningar
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.
Examples
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: '14.0'
    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.