Funções de arquivos do Bicep
Este artigo descreve as funções do Bicep para carregar o conteúdo de arquivos externos.
loadFileAsBase64
loadFileAsBase64(filePath)
Carrega o arquivo como uma cadeia de caracteres Base64.
Namespace: sys.
Parâmetros
Parâmetro | Obrigatório | Type | Descrição |
---|---|---|---|
filePath | Sim | string | O caminho para o arquivo a ser carregado. O caminho é relativo ao arquivo Bicep implantado. Não pode incluir variáveis. |
Comentários
Use essa função quando tiver um conteúdo binário que deseja incluir na implantação. Em vez de codificar manualmente o arquivo em uma cadeia de caracteres Base64 e adicioná-lo ao arquivo Bicep, carregue o arquivo com essa função. O arquivo é carregado quando o arquivo Bicep é compilado em um modelo JSON. Não é possível usar variáveis no caminho do arquivo porque elas não foram resolvidas ao compilar para o modelo. Durante a implantação, o modelo JSON contém o conteúdo do arquivo como uma cadeia de caracteres embutida em código.
Essa função requer a CLI do Bicep versão 0.4.X ou superior.
O tamanho máximo permitido do arquivo é de 96 KB.
Valor retornado
O arquivo como uma cadeia de caracteres Base64.
loadJsonContent
loadJsonContent(filePath, [jsonPath], [encoding])
Carrega o arquivo JSON especificado como um objeto Any.
Namespace: sys.
Parâmetros
Parâmetro | Obrigatório | Type | Descrição |
---|---|---|---|
filePath | Sim | string | O caminho para o arquivo a ser carregado. O caminho é relativo ao arquivo Bicep implantado. Não pode incluir variáveis. |
jsonPath | Não | string | A expressão JSONPath deve especificar que apenas parte do arquivo é carregada. |
codificando | Não | string | A codificação do arquivo. O valor padrão é utf-8 . As opções disponíveis são: iso-8859-1 , us-ascii , utf-16 , utf-16BE ou utf-8 . |
Comentários
Use esta função quando tiver conteúdo JSON ou conteúdo JSON reduzido armazenado em um arquivo separado. Em vez de duplicar o conteúdo JSON no arquivo Bicep, carregue-o com essa função. É possível carregar uma parte de um arquivo JSON especificando um caminho JSON. O arquivo é carregado quando o arquivo Bicep é compilado no modelo JSON. Não é possível incluir variáveis no caminho do arquivo porque elas não foram resolvidas ao compilar para o modelo. Durante a implantação, o modelo JSON contém o conteúdo do arquivo como uma cadeia de caracteres embutida em código.
No VS Code, as propriedades do objeto carregado estão disponíveis no IntelliSense. Por exemplo, você pode criar um arquivo com valores para compartilhamento em vários arquivos Bicep. Um exemplo é mostrado neste artigo.
Essa função requer a CLI do Bicep versão 0.7.X ou superior.
O tamanho máximo permitido do arquivo é de 1.048.576 caracteres, incluindo terminações de linha.
Retornar valor
O conteúdo do arquivo como um objeto Any.
Exemplos
O exemplo a seguir cria um arquivo JSON que contém valores para um grupo de segurança de rede.
{
"description": "Allows SSH traffic",
"protocol": "Tcp",
"sourcePortRange": "*",
"destinationPortRange": "22",
"sourceAddressPrefix": "*",
"destinationAddressPrefix": "*",
"access": "Allow",
"priority": 100,
"direction": "Inbound"
}
Você carregará esse arquivo e o converterá em um objeto JSON. Além disso, usará o objeto para atribuir valores ao recurso.
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
}
]
}
}
Reutilize o arquivo de valores em outros arquivos Bicep que implantam um grupo de segurança de rede.
loadYamlContent
loadYamlContent(filePath, [pathFilter], [encoding])
Carrega o arquivo YAML especificado como um objeto Qualquer.
Namespace: sys.
Parâmetros
Parâmetro | Obrigatório | Type | Descrição |
---|---|---|---|
filePath | Sim | string | O caminho para o arquivo a ser carregado. O caminho é relativo ao arquivo Bicep implantado. Não pode incluir variáveis. |
pathFilter | Não | string | O filtro de caminho é uma expressão JSONPath para especificar que apenas parte do arquivo está carregada. |
codificando | Não | string | A codificação do arquivo. O valor padrão é utf-8 . As opções disponíveis são: iso-8859-1 , us-ascii , utf-16 , utf-16BE ou utf-8 . |
Comentários
Use essa função quando você tiver conteúdos YAML ou conteúdos YAML reduzidos armazenados em um arquivo separado. Em vez de duplicar o conteúdo YAML no seu arquivo Bicep, carregue o conteúdo com esta função. Você pode carregar uma parte de um arquivo YAML especificando um arquivador de caminho. O arquivo é carregado quando o arquivo Bicep é compilado no modelo do YAML. Não é possível incluir variáveis no caminho do arquivo porque elas não foram resolvidas ao compilar para o modelo. Durante a implantação, o modelo do YAML contém o conteúdo do arquivo como uma cadeia de caracteres embutidas em código.
No VS Code, as propriedades do objeto carregado estão disponíveis no IntelliSense. Por exemplo, você pode criar um arquivo com valores para compartilhamento em vários arquivos Bicep. Um exemplo é mostrado neste artigo.
Essa função requer a CLI do Bicep versão 0.16.X ou superior.
O tamanho máximo permitido do arquivo é de 1.048.576 caracteres, incluindo terminações de linha.
Retornar valor
O conteúdo do arquivo como um objeto Any.
Exemplos
O exemplo a seguir cria um arquivo YAML que contém valores para um grupo de segurança de rede.
description: "Allows SSH traffic"
protocol: "Tcp"
sourcePortRange: "*"
destinationPortRange: "22"
sourceAddressPrefix: "*"
destinationAddressPrefix: "*"
access: "Allow"
priority: 100
direction: "Inbound"
Você carregará esse arquivo e o converterá em um objeto JSON. Além disso, usará o objeto para atribuir valores ao recurso.
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
}
]
}
}
Reutilize o arquivo de valores em outros arquivos Bicep que implantam um grupo de segurança de rede.
loadTextContent
loadTextContent(filePath, [encoding])
Carrega o conteúdo do arquivo especificado como uma cadeia de caracteres.
Namespace: sys.
Parâmetros
Parâmetro | Obrigatório | Type | Descrição |
---|---|---|---|
filePath | Sim | string | O caminho para o arquivo a ser carregado. O caminho é relativo ao arquivo Bicep implantado. Não pode conter variáveis. |
codificando | Não | string | A codificação do arquivo. O valor padrão é utf-8 . As opções disponíveis são: iso-8859-1 , us-ascii , utf-16 , utf-16BE ou utf-8 . |
Comentários
Use essa função quando tiver o conteúdo armazenado em um arquivo separado. É possível carregar o conteúdo em vez de duplicá-lo no arquivo Bicep. Por exemplo, você pode carregar um script de implantação com base em um arquivo. O arquivo é carregado quando o arquivo Bicep é compilado no modelo JSON. Não é possível incluir quaisquer variáveis no caminho do arquivo porque elas não foram resolvidas ao compilar para o modelo. Durante a implantação, o modelo JSON contém o conteúdo do arquivo como uma cadeia de caracteres embutida em código.
Use a função loadJsonContent()
para carregar arquivos JSON.
Essa função requer a CLI do Bicep versão 0.4.X ou superior.
O tamanho máximo permitido do arquivo é de 131.072 caracteres, incluindo terminações de linha.
Valor retornado
O conteúdo do arquivo como uma cadeia de caracteres.
Exemplos
O exemplo a seguir carrega um script de um arquivo e o usa para um script de implantação.
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'
}
}
Próximas etapas
- Para obter uma descrição das seções de um arquivo Bicep, consulte Entender a estrutura e a sintaxe dos arquivos Bicep.