Funções do bíceps para arquivos de parâmetros do Bicep

Este artigo descreve as funções do Bicep que podem ser usadas em arquivos de parâmetros do Bicep (.bicepparam).

externalInput

externalInput(name, config)

Essa função permite que você defina entradas que devem ser fornecidas por ferramentas externas quando uma implantação é iniciada, em vez de exigir que elas sejam conhecidas quando você compila.

Disponível no Bicep versão 0.37.4 e posterior.

Parâmetros

Parâmetro Necessário Tipo Description
nome Sim cadeia (de caracteres) O nome da entrada fornecida pela ferramenta externa.
Configurações Não any A configuração opcional para a entrada. A configuração é específica para a ferramenta externa da qual você está solicitando uma entrada.

Valor devolvido

O valor real recuperado da fonte externa no momento da implantação.

Exemplo

O arquivo a seguir .bicepparam solicita entrada de uma ferramenta fictícia chamada someTool, que pode fornecer uma entrada chamada myInput.

using './main.bicep'

// without configuration
param foo = externalInput('someTool.myInput')

// with string configuration
param bar = externalInput('someTool.myInput', 'Indy')

// with complex configuration
param baz = externalInput('someTool.myInput', {
  name: 'Indy'
  legs: 3
})

getSecret

getSecret(subscriptionId, resourceGroupName, keyVaultName, secretName, secretVersion)

Esta função retorna um segredo de um Cofre de Chaves do Azure. Use esta função para passar um segredo para o parâmetro de cadeia de caracteres segura de um arquivo Bicep.

Nota

Você também pode usar a função keyVaultName.getSecret(secretName) de dentro de um .bicep arquivo.

using './main.bicep'

param secureUserName = getSecret('exampleSubscription', 'exampleResourceGroup', 'exampleKeyVault', 'exampleSecretUserName')
param securePassword = getSecret('exampleSubscription', 'exampleResourceGroup', 'exampleKeyVault', 'exampleSecretPassword')

Você receberá um erro se usar essa função com interpolação de cadeia de caracteres.

Um qualificador de namespace (az) pode ser usado, mas é opcional, pois a função está disponível no namespace padrão do Azure.

Parâmetros

Parâmetro Necessário Tipo Description
subscriptionId Sim cadeia (de caracteres) A ID da assinatura que tem o recurso de cofre de chaves
resourceGroupName Sim cadeia (de caracteres) O nome do grupo de recursos que tem o recurso de cofre de chaves
keyVaultName Sim cadeia (de caracteres) O nome do cofre da chave
secretName Sim cadeia (de caracteres) O nome do segredo armazenado no cofre de chaves
secretVersion Não cadeia (de caracteres) A versão do segredo armazenada no cofre de chaves

Valor devolvido

O valor para o segredo.

Exemplo

O arquivo a seguir tem um .bicepparam parâmetro que tem o valor mais recente do securePassword:<

using './main.bicep'

param securePassword = getSecret('exampleSubscription', 'exampleResourceGroup', 'exampleKeyVault', 'exampleSecretPassword')

O arquivo a seguir tem um parâmetro que tem o valor do segredo secretName.bicepparamsecurePassword<, mas está fixado a um secretValue> específico:<>

using './main.bicep'

param securePassword = getSecret('exampleSubscription', 'exampleResourceGroup', 'exampleKeyVault', 'exampleSecretPassword', 'exampleSecretVersion')

readEnvironmentVariable

readEnvironmentVariable(variableName, [defaultValue])

Essa função retorna o valor da variável de ambiente ou define um valor padrão se a variável de ambiente não existir. O carregamento de variáveis ocorre durante a compilação e não em tempo de execução.

Espaço de nome: sys.

Parâmetros

Parâmetro Necessário Tipo Description
nomevariável Sim cadeia (de caracteres) O nome da variável.
defaultValue Não cadeia (de caracteres) Um valor de cadeia de caracteres padrão a ser usado se a variável de ambiente não existir.

Valor devolvido

O valor de retorno é o valor da cadeia de caracteres da variável de ambiente ou um valor padrão.

Observações

O comando a seguir define a variável de ambiente somente para o processo do PowerShell no qual ela é executada. Você obtém BCP338 do Visual Studio Code:

$env:testEnvironmentVariable = "Hello World!"

Para definir a variável de ambiente no nível do usuário, execute o seguinte comando:

[System.Environment]::SetEnvironmentVariable('testEnvironmentVariable','Hello World!', 'User')

Para definir a variável de ambiente no nível da máquina, execute o seguinte comando:

[System.Environment]::SetEnvironmentVariable('testEnvironmentVariable','Hello World!', 'Machine')

Para obter mais informações, consulte Método Environment.SetEnvironmentVariable.

Exemplos

Os exemplos a seguir mostram como recuperar os valores de variáveis de ambiente:

using './main.bicep'

param adminPassword = readEnvironmentVariable('admin_password')
param boolfromEnvironmentVariables = bool(readEnvironmentVariable('boolVariableName','false'))

Próximos passos

Para obter mais informações sobre arquivos de parâmetros do Bicep, consulte Criar arquivos de parâmetros para implantação do Bicep.