Sdílet prostřednictvím


Funkce souborů pro Bicep

Tento článek popisuje funkce Bicep pro načítání obsahu z externích souborů.

loadFileAsBase64

loadFileAsBase64(filePath)

Načte soubor jako řetězec base64.

Obor názvů: sys.

Parametry

Parametr Požaduje se Type Popis
Filepath Ano string Cesta k souboru, který se má načíst. Cesta je relativní vzhledem k nasazeného souboru Bicep. Nemůže obsahovat proměnné.

Poznámky

Tuto funkci použijte, pokud máte binární obsah, který chcete zahrnout do nasazení. Místo ručního kódování souboru do řetězce base64 a jeho přidání do souboru Bicep načtěte soubor s touto funkcí. Soubor se načte při kompilaci souboru Bicep do šablony JSON. Proměnné v cestě k souboru nemůžete použít, protože se při kompilaci do šablony nepřeložily. Během nasazování obsahuje šablona JSON obsah souboru jako pevně zakódovaný řetězec.

Tato funkce vyžaduje rozhraní příkazového řádku Bicep verze 0.4.X nebo vyšší.

Maximální povolená velikost souboru je 96 kB.

Vrácená hodnota

Soubor jako řetězec base64.

loadJsonContent

loadJsonContent(filePath, [jsonPath], [encoding])

Načte zadaný soubor JSON jako libovolný objekt.

Obor názvů: sys.

Parametry

Parametr Požaduje se Type Popis
Filepath Ano string Cesta k souboru, který se má načíst. Cesta je relativní vzhledem k nasazeného souboru Bicep. Nemůže obsahovat proměnné.
jsonPath No string Výraz JSONPath k určení, že se načte pouze část souboru.
encoding No string Kódování souboru. Výchozí hodnota je utf-8. Dostupné možnosti: iso-8859-1, us-ascii, utf-16, utf-16BE, nebo utf-8.

Poznámky

Tuto funkci použijte, pokud máte obsah JSON nebo minifikovaný obsah JSON, který je uložený v samostatném souboru. Místo duplikování obsahu JSON v souboru Bicep načtěte obsah s touto funkcí. Část souboru JSON můžete načíst zadáním cesty JSON. Soubor se načte při kompilaci souboru Bicep do šablony JSON. Do cesty k souboru nemůžete zahrnout proměnné, protože se při kompilaci do šablony nepřeložily. Během nasazování obsahuje šablona JSON obsah souboru jako pevně zakódovaný řetězec.

Ve VS Code jsou vlastnosti načteného objektu k dispozici intellisense. Můžete například vytvořit soubor s hodnotami, které se mají sdílet v mnoha souborech Bicep. Příklad je uvedený v tomto článku.

Tato funkce vyžaduje rozhraní příkazového řádku Bicep verze 0.7.X nebo vyšší.

Maximální povolená velikost souboru je 1 048 576 znaků včetně zakončení řádků.

Vrácená hodnota

Obsah souboru jako libovolný objekt.

Příklady

Následující příklad vytvoří soubor JSON, který obsahuje hodnoty pro skupinu zabezpečení sítě.

{
  "description": "Allows SSH traffic",
  "protocol": "Tcp",
  "sourcePortRange": "*",
  "destinationPortRange": "22",
  "sourceAddressPrefix": "*",
  "destinationAddressPrefix": "*",
  "access": "Allow",
  "priority": 100,
  "direction": "Inbound"
}

Tento soubor načtete a převedete ho na objekt JSON. Objekt slouží k přiřazení hodnot k prostředku.

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
      }
    ]
  }
}

Soubor hodnot můžete znovu použít v jiných souborech Bicep, které nasazují skupinu zabezpečení sítě.

loadYamlContent

loadYamlContent(filePath, [pathFilter], [encoding])

Načte zadaný soubor YAML jako libovolný objekt.

Obor názvů: sys.

Parametry

Parametr Požaduje se Type Popis
Filepath Ano string Cesta k souboru, který se má načíst. Cesta je relativní vzhledem k nasazeného souboru Bicep. Nemůže obsahovat proměnné.
pathFilter No string Filtr cesty je výraz JSONPath, který určuje, že se načte pouze část souboru.
encoding No string Kódování souboru. Výchozí hodnota je utf-8. Dostupné možnosti: iso-8859-1, us-ascii, utf-16, utf-16BE, nebo utf-8.

Poznámky

Tuto funkci použijte, pokud máte obsah YAML nebo minifikovaný obsah YAML uložený v samostatném souboru. Místo duplikování obsahu YAML v souboru Bicep načtěte obsah s touto funkcí. Část souboru YAML můžete načíst zadáním filtru cesty. Soubor se načte při kompilaci souboru Bicep do šablony YAML. Do cesty k souboru nemůžete zahrnout proměnné, protože se při kompilaci do šablony nepřeložily. Během nasazování obsahuje šablona YAML obsah souboru jako pevně zakódovaný řetězec.

Ve VS Code jsou vlastnosti načteného objektu k dispozici intellisense. Můžete například vytvořit soubor s hodnotami, které se mají sdílet v mnoha souborech Bicep. Příklad je uvedený v tomto článku.

Tato funkce vyžaduje rozhraní příkazového řádku Bicep verze 0.16.X nebo vyšší.

Maximální povolená velikost souboru je 1 048 576 znaků včetně zakončení řádků.

Vrácená hodnota

Obsah souboru jako libovolný objekt.

Příklady

Následující příklad vytvoří soubor YAML, který obsahuje hodnoty pro skupinu zabezpečení sítě.

description: "Allows SSH traffic"
protocol: "Tcp"
sourcePortRange: "*"
destinationPortRange: "22"
sourceAddressPrefix: "*"
destinationAddressPrefix: "*"
access: "Allow"
priority: 100
direction: "Inbound"

Tento soubor načtete a převedete ho na objekt JSON. Objekt slouží k přiřazení hodnot k prostředku.

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
      }
    ]
  }
}

Soubor hodnot můžete znovu použít v jiných souborech Bicep, které nasazují skupinu zabezpečení sítě.

loadTextContent

loadTextContent(filePath, [encoding])

Načte obsah zadaného souboru jako řetězec.

Obor názvů: sys.

Parametry

Parametr Požaduje se Type Popis
Filepath Ano string Cesta k souboru, který se má načíst. Cesta je relativní vzhledem k nasazeného souboru Bicep. Nemůže obsahovat proměnné.
encoding No string Kódování souboru. Výchozí hodnota je utf-8. Dostupné možnosti: iso-8859-1, us-ascii, utf-16, utf-16BE, nebo utf-8.

Poznámky

Tuto funkci použijte, pokud máte obsah uložený v samostatném souboru. Obsah můžete načíst místo duplikování v souboru Bicep. Můžete například načíst skript nasazení ze souboru. Soubor se načte při kompilaci souboru Bicep do šablony JSON. Do cesty k souboru nemůžete zahrnout žádné proměnné, protože se při kompilaci do šablony nepřeložily. Během nasazování obsahuje šablona JSON obsah souboru jako pevně zakódovaný řetězec.

loadJsonContent() Pomocí funkce načtěte soubory JSON.

Tato funkce vyžaduje rozhraní příkazového řádku Bicep verze 0.4.X nebo vyšší.

Maximální povolená velikost souboru je 131 072 znaků, včetně zakončení řádků.

Vrácená hodnota

Obsah souboru jako řetězec.

Příklady

Následující příklad načte skript ze souboru a použije ho pro skript nasazení.

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'
  }
}

Další kroky