Funciones de implementación para Bicep
En este artículo se describen las funciones de Bicep para obtener valores relacionados con la implementación actual.
implementador
deployer()
Devuelve la información sobre la entidad de seguridad de implementación actual.
Espacio de nombres: az.
Valor devuelto
Esta función devuelve la información sobre la entidad de implementación actual, incluido el identificador de inquilino y el identificador de objeto.
{
"objectId": "",
"tenantId": ""
}
Ejemplo
El siguiente archivo bicep de ejemplo devuelve el objeto deployer.
output deployer object = deployer()
El ejemplo anterior devuelve el objeto siguiente:
{
"objectId":"aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb",
"tenantId":"aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e"
}
implementación
deployment()
Devuelve información sobre la operación de implementación actual.
Espacio de nombres: az.
Valor devuelto
Esta función devuelve el objeto pasado durante la implementación. Las propiedades del objeto devuelto difieren en función de si:
- se implementa un archivo de Bicep local.
- se implementa en un grupo de recursos o en uno de los otros ámbitos (suscripción a Azure, grupo de administración o inquilino).
Al implementar un archivo de Bicep local en un grupo de recursos, la función devuelve el siguiente formato:
{
"name": "",
"properties": {
"template": {
"$schema": "",
"contentVersion": "",
"parameters": {},
"variables": {},
"resources": [],
"outputs": {}
},
"templateHash": "",
"parameters": {},
"mode": "",
"provisioningState": ""
}
}
Al implementar en una suscripción a Azure, en un grupo de recursos o en un inquilino, el objeto devuelto incluye una propiedad location
. La propiedad location
no se incluye al implementar un archivo de Bicep local. El formato es:
{
"name": "",
"location": "",
"properties": {
"template": {
"$schema": "",
"contentVersion": "",
"resources": [],
"outputs": {}
},
"templateHash": "",
"parameters": {},
"mode": "",
"provisioningState": ""
}
}
Ejemplo
El ejemplo siguiente devuelve el objeto de implementación:
output deploymentOutput object = deployment()
El ejemplo anterior devuelve el objeto siguiente:
{
"name": "deployment",
"properties": {
"template": {
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [],
"outputs": {
"deploymentOutput": {
"type": "Object",
"value": "[deployment()]"
}
}
},
"templateHash": "13135986259522608210",
"parameters": {},
"mode": "Incremental",
"provisioningState": "Accepted"
}
}
Environment
environment()
Devuelve información sobre el entorno de Azure que se usa para la implementación. La environment()
función no es consciente de las configuraciones de recursos. Solo puede devolver un único sufijo DNS predeterminado para cada tipo de recurso.
Espacio de nombres: az.
Comentarios
Para ver una lista de los entornos registrados para su cuenta, use az cloud list o Get-AzEnvironment.
Valor devuelto
Esta función devuelve las propiedades del entorno de Azure actual. En el ejemplo siguiente se muestran las propiedades de Azure global. Las nubes soberanas pueden devolver propiedades ligeramente distintas.
{
"name": "",
"gallery": "",
"graph": "",
"portal": "",
"graphAudience": "",
"activeDirectoryDataLake": "",
"batch": "",
"media": "",
"sqlManagement": "",
"vmImageAliasDoc": "",
"resourceManager": "",
"authentication": {
"loginEndpoint": "",
"audiences": [
"",
""
],
"tenant": "",
"identityProvider": ""
},
"suffixes": {
"acrLoginServer": "",
"azureDatalakeAnalyticsCatalogAndJob": "",
"azureDatalakeStoreFileSystem": "",
"azureFrontDoorEndpointSuffix": "",
"keyvaultDns": "",
"sqlServerHostname": "",
"storage": ""
}
}
Ejemplo
El archivo de Bicep de ejemplo siguiente devuelve el objeto de entorno.
output environmentOutput object = environment()
En el ejemplo anterior se devuelve el objeto siguiente cuando se implementa en Azure global:
{
"name": "AzureCloud",
"gallery": "https://gallery.azure.com/",
"graph": "https://graph.windows.net/",
"portal": "https://portal.azure.com",
"graphAudience": "https://graph.windows.net/",
"activeDirectoryDataLake": "https://datalake.azure.net/",
"batch": "https://batch.core.windows.net/",
"media": "https://rest.media.azure.net",
"sqlManagement": "https://management.core.windows.net:8443/",
"vmImageAliasDoc": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/arm-compute/quickstart-templates/aliases.json",
"resourceManager": "https://management.azure.com/",
"authentication": {
"loginEndpoint": "https://login.microsoftonline.com/",
"audiences": [ "https://management.core.windows.net/", "https://management.azure.com/" ],
"tenant": "common",
"identityProvider": "AAD"
},
"suffixes": {
"acrLoginServer": ".azurecr.io",
"azureDatalakeAnalyticsCatalogAndJob": "azuredatalakeanalytics.net",
"azureDatalakeStoreFileSystem": "azuredatalakestore.net",
"azureFrontDoorEndpointSuffix": "azurefd.net",
"keyvaultDns": ".vault.azure.net",
"sqlServerHostname": ".database.windows.net",
"storage": "core.windows.net"
}
}
Pasos siguientes
- Para obtener valores de recursos, grupos de recursos o suscripciones, consulte Funciones de recursos.