Funkcje plików dla Bicep
W tym artykule opisano funkcje Bicep służące do ładowania zawartości z plików zewnętrznych.
loadFileAsBase64
loadFileAsBase64(filePath)
Ładuje plik jako ciąg base64.
Przestrzeń nazw: sys.
Parametry
Parametr | Wymagania | Type | Opis |
---|---|---|---|
Filepath | Tak | string | Ścieżka do pliku do załadowania. Ścieżka jest względna względem wdrożonego pliku Bicep. Nie może zawierać zmiennych. |
Uwagi
Użyj tej funkcji, gdy masz zawartość binarną, którą chcesz uwzględnić we wdrożeniu. Zamiast ręcznie kodować plik do ciągu base64 i dodawać go do pliku Bicep, załaduj plik za pomocą tej funkcji. Plik jest ładowany po skompilowaniu pliku Bicep do szablonu JSON. Nie można używać zmiennych w ścieżce pliku, ponieważ nie zostały one rozwiązane podczas kompilowania do szablonu. Podczas wdrażania szablon JSON zawiera zawartość pliku jako zakodowany ciąg.
Ta funkcja wymaga interfejsu wiersza polecenia Bicep w wersji 0.4.X lub nowszej.
Maksymalny dozwolony rozmiar pliku to 96 KB.
Wartość zwracana
Plik jako ciąg base64.
loadJsonContent
loadJsonContent(filePath, [jsonPath], [encoding])
Ładuje określony plik JSON jako dowolny obiekt.
Przestrzeń nazw: sys.
Parametry
Parametr | Wymagania | Type | Opis |
---|---|---|---|
Filepath | Tak | string | Ścieżka do pliku do załadowania. Ścieżka jest względna względem wdrożonego pliku Bicep. Nie może zawierać zmiennych. |
jsonPath | Nie. | string | Wyrażenie JSONPath określające, że załadowana jest tylko część pliku. |
encoding | Nie. | string | Kodowanie pliku. Domyślna wartość to utf-8 . Dostępne opcje to: iso-8859-1 , , us-ascii utf-16 , utf-16BE , lub utf-8 . |
Uwagi
Użyj tej funkcji, gdy masz zawartość JSON lub minimalną zawartość JSON przechowywaną w osobnym pliku. Zamiast duplikować zawartość JSON w pliku Bicep, załaduj zawartość za pomocą tej funkcji. Część pliku JSON można załadować, określając ścieżkę JSON. Plik jest ładowany po skompilowaniu pliku Bicep do szablonu JSON. Nie można uwzględnić zmiennych w ścieżce pliku, ponieważ nie zostały one rozwiązane podczas kompilowania do szablonu. Podczas wdrażania szablon JSON zawiera zawartość pliku jako zakodowany ciąg.
W programie VS Code właściwości załadowanego obiektu są dostępne w funkcji IntelliSense. Na przykład można utworzyć plik z wartościami, które mają być współużytkować w wielu plikach Bicep. Przykład pokazano w tym artykule.
Ta funkcja wymaga interfejsu wiersza polecenia Bicep w wersji 0.7.X lub nowszej.
Maksymalny dozwolony rozmiar pliku to 1048 576 znaków, w tym zakończenia wiersza.
Wartość zwracana
Zawartość pliku jako dowolny obiekt.
Przykłady
W poniższym przykładzie tworzony jest plik JSON zawierający wartości dla sieciowej grupy zabezpieczeń.
{
"description": "Allows SSH traffic",
"protocol": "Tcp",
"sourcePortRange": "*",
"destinationPortRange": "22",
"sourceAddressPrefix": "*",
"destinationAddressPrefix": "*",
"access": "Allow",
"priority": 100,
"direction": "Inbound"
}
Załadujesz ten plik i przekonwertujesz go na obiekt JSON. Obiekt służy do przypisywania wartości do zasobu.
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
}
]
}
}
Możesz ponownie użyć pliku wartości w innych plikach Bicep, które wdrażają sieciową grupę zabezpieczeń.
loadYamlContent
loadYamlContent(filePath, [pathFilter], [encoding])
Ładuje określony plik YAML jako dowolny obiekt.
Przestrzeń nazw: sys.
Parametry
Parametr | Wymagania | Type | Opis |
---|---|---|---|
Filepath | Tak | string | Ścieżka do pliku do załadowania. Ścieżka jest względna względem wdrożonego pliku Bicep. Nie może zawierać zmiennych. |
pathFilter | Nie. | string | Filtr ścieżki jest wyrażeniem JSONPath określającym, że ładowana jest tylko część pliku. |
encoding | Nie. | string | Kodowanie pliku. Domyślna wartość to utf-8 . Dostępne opcje to: iso-8859-1 , , us-ascii utf-16 , utf-16BE , lub utf-8 . |
Uwagi
Użyj tej funkcji, gdy masz zawartość YAML lub zawartość YAML, która jest przechowywana w osobnym pliku. Zamiast duplikować zawartość YAML w pliku Bicep, załaduj zawartość za pomocą tej funkcji. Część pliku YAML można załadować, określając filtr ścieżki. Plik jest ładowany po skompilowaniu pliku Bicep do szablonu YAML. Nie można uwzględnić zmiennych w ścieżce pliku, ponieważ nie zostały one rozwiązane podczas kompilowania do szablonu. Podczas wdrażania szablon YAML zawiera zawartość pliku jako zakodowany ciąg.
W programie VS Code właściwości załadowanego obiektu są dostępne w funkcji IntelliSense. Na przykład można utworzyć plik z wartościami, które mają być współużytkować w wielu plikach Bicep. Przykład pokazano w tym artykule.
Ta funkcja wymaga interfejsu wiersza polecenia Bicep w wersji 0.16.X lub nowszej.
Maksymalny dozwolony rozmiar pliku to 1048 576 znaków, w tym zakończenia wiersza.
Wartość zwracana
Zawartość pliku jako dowolny obiekt.
Przykłady
Poniższy przykład tworzy plik YAML zawierający wartości sieciowej grupy zabezpieczeń.
description: "Allows SSH traffic"
protocol: "Tcp"
sourcePortRange: "*"
destinationPortRange: "22"
sourceAddressPrefix: "*"
destinationAddressPrefix: "*"
access: "Allow"
priority: 100
direction: "Inbound"
Załadujesz ten plik i przekonwertujesz go na obiekt JSON. Obiekt służy do przypisywania wartości do zasobu.
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
}
]
}
}
Możesz ponownie użyć pliku wartości w innych plikach Bicep, które wdrażają sieciową grupę zabezpieczeń.
loadTextContent
loadTextContent(filePath, [encoding])
Ładuje zawartość określonego pliku jako ciąg.
Przestrzeń nazw: sys.
Parametry
Parametr | Wymagania | Type | Opis |
---|---|---|---|
Filepath | Tak | string | Ścieżka do pliku do załadowania. Ścieżka jest względna względem wdrożonego pliku Bicep. Nie może zawierać zmiennych. |
encoding | Nie. | string | Kodowanie pliku. Domyślna wartość to utf-8 . Dostępne opcje to: iso-8859-1 , , us-ascii utf-16 , utf-16BE , lub utf-8 . |
Uwagi
Użyj tej funkcji, gdy masz zawartość przechowywaną w osobnym pliku. Zawartość można załadować zamiast duplikować ją w pliku Bicep. Można na przykład załadować skrypt wdrożenia z pliku. Plik jest ładowany po skompilowaniu pliku Bicep do szablonu JSON. Nie można uwzględnić żadnych zmiennych w ścieżce pliku, ponieważ nie zostały one rozwiązane podczas kompilowania do szablonu. Podczas wdrażania szablon JSON zawiera zawartość pliku jako zakodowany ciąg.
loadJsonContent()
Użyj funkcji , aby załadować pliki JSON.
Ta funkcja wymaga interfejsu wiersza polecenia Bicep w wersji 0.4.X lub nowszej.
Maksymalny dozwolony rozmiar pliku to 131 072 znaki, w tym zakończenia wierszy.
Wartość zwracana
Zawartość pliku jako ciąg.
Przykłady
Poniższy przykład ładuje skrypt z pliku i używa go do skryptu wdrażania.
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'
}
}
Następne kroki
- Opis sekcji w pliku Bicep można znaleźć w temacie Understand the structure and syntax of Bicep files (Opis struktury i składni plików Bicep).