Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье описаны функции Bicep для загрузки содержимого из внешних файлов.
loadDirectoryFileInfo
loadDirectoryFileInfo(directoryPath, [searchPattern])
Загружает основные сведения о файлах каталога в качестве объекта Bicep. Загрузка файлов происходит во время компиляции, а не во время выполнения.
Пространство имен: sys.
Параметры
| Параметр | Обязательно | Тип | Description |
|---|---|---|---|
| directoryPath | Да | струна | Путь относительно файла Bicep, вызывающего эту функцию. Он может использовать переменные, если они являются константами времени компиляции, но не могут использовать параметры. |
| searchPattern | нет | струна | Шаблон поиска, используемый при загрузке файлов. Это может включать подстановочные знаки. |
Возвращаемое значение
Массив объектов, каждый из которых представляет файл в каталоге. Каждый объект содержит следующие свойства:
| Недвижимость | Тип | Description |
|---|---|---|
| baseName | струна | Имя файла. |
| Расширение | струна | Расширение файла. |
| relativePath | струна | Относительный путь к текущему шаблону. |
Примеры
В следующем примере загружаются сведения о файле для всех файлов Bicep в каталоге ./modules/ .
var dirFileInfo = loadDirectoryFileInfo('./modules/', '*.bicep')
output dirFileInfoOutput object[] = dirFileInfo
Папка содержит только один файл с именем appService.bicep. Результат выглядит так:
[{"relativePath":"modules/appService.bicep","baseName":"appService.bicep","extension":".bicep"}]
loadFileAsBase64
loadFileAsBase64(filePath)
Загружает файл в виде строки base64.
Пространство имен: sys.
Параметры
| Параметр | Обязательно | Тип | Description |
|---|---|---|---|
| filePath | Да | струна | Путь к загружению файла. Путь относительно развернутого Bicep-файла. Не удается включить переменные. |
Замечания
Используйте эту функцию, если у вас есть двоичное содержимое, включаемого в развертывание. Вместо того чтобы вручную кодировать файл в строку base64 и добавлять его в файл Bicep, загрузите файл с этой функцией. Файл загружается при компиляции Bicep-файла в шаблон JSON. Переменные нельзя использовать в пути к файлу, так как они не были разрешены при компиляции в шаблон. Во время развертывания шаблон JSON содержит содержимое файла как жестко закодированную строку.
Для этой функции требуется интерфейс командной строки Bicep версии 0.4.X или более поздней.
Максимальный допустимый размер файла составляет 96 КБ.
Возвращаемое значение
Файл в виде строки base64.
loadJsonContent
loadJsonContent(filePath, [jsonPath], [encoding])
Загружает указанный JSON-файл в виде объекта Any.
Пространство имен: sys.
Параметры
| Параметр | Обязательно | Тип | Description |
|---|---|---|---|
| filePath | Да | струна | Путь к загружению файла. Путь относительно развернутого Bicep-файла. Не удается включить переменные. |
| jsonPath | нет | струна | Выражение JSONPath, указывающее, что загружается только часть файла. |
| encoding | нет | струна | Кодировка файла. Значение по умолчанию — utf-8. Доступны следующие варианты: iso-8859-1, , us-asciiutf-16, utf-16BEили utf-8. |
Замечания
Используйте эту функцию при наличии содержимого JSON или минимального содержимого JSON, хранящегося в отдельном файле. Вместо дедупликации содержимого JSON в файле Bicep загрузите содержимое с этой функцией. Вы можете загрузить часть JSON-файла, указав путь к JSON. Файл загружается при компиляции Bicep-файла в шаблон JSON. Невозможно включить переменные в путь к файлу, так как они не были разрешены при компиляции в шаблон. Во время развертывания шаблон JSON содержит содержимое файла как жестко закодированную строку.
В VS Code свойства загруженного объекта доступны intellisense. Например, можно создать файл со значениями для общего доступа ко многим файлам Bicep. Пример показан в этой статье.
Для этой функции требуется интерфейс командной строки Bicep версии 0.7.X или более поздней.
Максимальный допустимый размер файла составляет 1 048 576 символов, включая окончания строки.
Возвращаемое значение
Содержимое файла как объекта Any.
Примеры
В следующем примере создается JSON-файл, содержащий значения для группы безопасности сети.
{
"description": "Allows SSH traffic",
"protocol": "Tcp",
"sourcePortRange": "*",
"destinationPortRange": "22",
"sourceAddressPrefix": "*",
"destinationAddressPrefix": "*",
"access": "Allow",
"priority": 100,
"direction": "Inbound"
}
Вы загружаете этот файл и преобразуете его в объект JSON. Объект используется для назначения значений ресурсу.
param location string = resourceGroup().location
var nsgconfig = loadJsonContent('nsg-security-rules.json')
resource newNSG 'Microsoft.Network/networkSecurityGroups@2025-01-01' = {
name: 'example-nsg'
location: location
properties: {
securityRules: [
{
name: 'SSH'
properties: nsgconfig
}
]
}
}
Вы можете повторно использовать файл значений в других файлах Bicep, которые развертывают группу безопасности сети.
loadYamlContent
loadYamlContent(filePath, [pathFilter], [encoding])
Загружает указанный ФАЙЛ YAML в виде объекта Any.
Пространство имен: sys.
Параметры
| Параметр | Обязательно | Тип | Description |
|---|---|---|---|
| filePath | Да | струна | Путь к загружению файла. Путь относительно развернутого Bicep-файла. Не удается включить переменные. |
| pathFilter | нет | струна | Фильтр пути — это выражение JSONPath, указывающее, что загружается только часть файла. |
| encoding | нет | струна | Кодировка файла. Значение по умолчанию — utf-8. Доступны следующие варианты: iso-8859-1, , us-asciiutf-16, utf-16BEили utf-8. |
Замечания
Используйте эту функцию, если у вас есть содержимое YAML или минифицированное содержимое YAML, хранящееся в отдельном файле. Вместо дедупликации содержимого YAML в файле Bicep загрузите содержимое с помощью этой функции. Вы можете загрузить часть ФАЙЛА YAML, указав фильтр пути. Файл загружается при компиляции Bicep-файла в шаблон YAML. Невозможно включить переменные в путь к файлу, так как они не были разрешены при компиляции в шаблон. Во время развертывания шаблон YAML содержит содержимое файла как жестко закодированную строку.
В VS Code свойства загруженного объекта доступны intellisense. Например, можно создать файл со значениями для общего доступа ко многим файлам Bicep. Пример показан в этой статье.
Для этой функции требуется интерфейс командной строки Bicep версии 0.16.X или более поздней.
Максимальный допустимый размер файла составляет 1 048 576 символов, включая окончания строки.
Возвращаемое значение
Содержимое файла как объекта Any.
Примеры
В следующем примере создается ФАЙЛ YAML, содержащий значения для группы безопасности сети.
description: "Allows SSH traffic"
protocol: "Tcp"
sourcePortRange: "*"
destinationPortRange: "22"
sourceAddressPrefix: "*"
destinationAddressPrefix: "*"
access: "Allow"
priority: 100
direction: "Inbound"
Вы загружаете этот файл и преобразуете его в объект JSON. Объект используется для назначения значений ресурсу.
param location string = resourceGroup().location
var nsgconfig = loadYamlContent('nsg-security-rules.yaml')
resource newNSG 'Microsoft.Network/networkSecurityGroups@2025-01-01' = {
name: 'example-nsg'
location: location
properties: {
securityRules: [
{
name: 'SSH'
properties: nsgconfig
}
]
}
}
Вы можете повторно использовать файл значений в других файлах Bicep, которые развертывают группу безопасности сети.
loadTextContent
loadTextContent(filePath, [encoding])
Загружает содержимое указанного файла в виде строки.
Пространство имен: sys.
Параметры
| Параметр | Обязательно | Тип | Description |
|---|---|---|---|
| filePath | Да | струна | Путь к загружению файла. Путь относительно развернутого Bicep-файла. Он не может содержать переменные. |
| encoding | нет | струна | Кодировка файла. Значение по умолчанию — utf-8. Доступны следующие варианты: iso-8859-1, , us-asciiutf-16, utf-16BEили utf-8. |
Замечания
Используйте эту функцию при наличии содержимого, хранящегося в отдельном файле. Вы можете загрузить содержимое, а не дублировать его в файле Bicep. Например, можно загрузить скрипт развертывания из файла. Файл загружается при компиляции Bicep-файла в шаблон JSON. Нельзя включать переменные в путь к файлу, так как они не были разрешены при компиляции в шаблон. Во время развертывания шаблон JSON содержит содержимое файла как жестко закодированную строку.
Используйте функцию loadJsonContent() для загрузки JSON-файлов.
Для этой функции требуется интерфейс командной строки Bicep версии 0.4.X или более поздней.
Максимальный допустимый размер файла составляет 131 072 символов, включая окончания строки.
Возвращаемое значение
Содержимое файла в виде строки.
Примеры
В следующем примере выполняется загрузка скрипта из файла и его использование для скрипта развертывания.
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'
}
}
Дальнейшие шаги
- Описание разделов в файле Bicep приведено в статье Общие сведения о структуре и синтаксисе файлов Bicep.