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
- Popis oddílů v souboru Bicep najdete v tématu Vysvětlení struktury a syntaxe souborů Bicep.