Funkce oboru pro Bicep
Tento článek popisuje funkce Bicep pro získání hodnot oboru.
managementGroup
managementGroup()
Vrátí objekt s vlastnostmi ze skupiny pro správu v aktuálním nasazení.
managementGroup(identifier)
Vrátí objekt použitý k nastavení oboru na skupinu pro správu.
Obor názvů: az.
Poznámky
managementGroup()
lze použít pouze v nasazení skupiny pro správu. Vrátí aktuální skupinu pro správu pro operaci nasazení. Slouží k získání objektu oboru nebo získání vlastností pro aktuální skupinu pro správu.
managementGroup(identifier)
lze použít pro libovolný obor nasazení, ale pouze při získání objektu oboru. Pokud chcete načíst vlastnosti skupiny pro správu, nemůžete předat identifikátor skupiny pro správu.
Parametry
Parametr | Požaduje se | Type | Popis |
---|---|---|---|
identifikátor | No | string | Jedinečný identifikátor skupiny pro správu, do které se má nasadit. Nepoužívejte zobrazovaný název skupiny pro správu. Pokud nezadáte hodnotu, vrátí se aktuální skupina pro správu. |
Vrácená hodnota
Objekt použitý k nastavení scope
vlastnosti pro typ prostředku modulu nebo rozšíření. Nebo objekt s vlastnostmi pro aktuální skupinu pro správu.
Příklad skupiny pro správu
Následující příklad nastaví obor modulu na skupinu pro správu.
param managementGroupIdentifier string
module 'mgModule.bicep' = {
name: 'deployToMG'
scope: managementGroup(managementGroupIdentifier)
}
Následující příklad vrátí vlastnosti pro aktuální skupinu pro správu.
targetScope = 'managementGroup'
var mgInfo = managementGroup()
output mgResult object = mgInfo
Vrátí se:
"mgResult": {
"type": "Object",
"value": {
"id": "/providers/Microsoft.Management/managementGroups/examplemg1",
"name": "examplemg1",
"properties": {
"details": {
"parent": {
"displayName": "Tenant Root Group",
"id": "/providers/Microsoft.Management/managementGroups/00000000-0000-0000-0000-000000000000",
"name": "00000000-0000-0000-0000-000000000000"
},
"updatedBy": "00000000-0000-0000-0000-000000000000",
"updatedTime": "2020-07-23T21:05:52.661306Z",
"version": "1"
},
"displayName": "Example MG 1",
"tenantId": "aaaabbbb-0000-cccc-1111-dddd2222eeee"
},
"type": "/providers/Microsoft.Management/managementGroups"
}
}
Další příklad vytvoří novou skupinu pro správu a použije tuto funkci k nastavení nadřazené skupiny pro správu.
targetScope = 'managementGroup'
param mgName string = 'mg-${uniqueString(newGuid())}'
resource newMG 'Microsoft.Management/managementGroups@2023-04-01' = {
scope: tenant()
name: mgName
properties: {
details: {
parent: {
id: managementGroup().id
}
}
}
}
output newManagementGroup string = mgName
resourceGroup
resourceGroup()
Vrátí objekt, který představuje aktuální skupinu prostředků.
resourceGroup(resourceGroupName)
And
resourceGroup(subscriptionId, resourceGroupName)
Vrátí objekt použitý k nastavení oboru na skupinu prostředků.
Obor názvů: az.
Poznámky
Funkce resourceGroup má dvě odlišné použití. Jedním z použití je nastavení rozsahu pro typ prostředku modulu nebo rozšíření. Dalším využitím je získání podrobností o aktuální skupině prostředků. Umístění funkce určuje jeho použití. Při použití k nastavení scope
vlastnosti vrátí objekt oboru.
resourceGroup()
lze použít buď pro nastavení oboru, nebo získání podrobností o skupině prostředků.
resourceGroup(resourceGroupName)
a resourceGroup(subscriptionId, resourceGroupName)
lze ho použít pouze pro nastavení rozsahu.
Parametry
Parametr | Požaduje se | Type | Popis |
---|---|---|---|
resourceGroupName | No | string | Název skupiny prostředků, do které se má nasadit. Pokud nezadáte hodnotu, vrátí se aktuální skupina prostředků. |
subscriptionId | No | string | Jedinečný identifikátor předplatného, do které se má nasadit. Pokud nezadáte hodnotu, vrátí se aktuální předplatné. |
Vrácená hodnota
Při použití pro nastavení oboru vrátí funkce objekt, který je platný pro scope
vlastnost typu modulu nebo rozšíření prostředku.
Při použití pro získání podrobností o skupině prostředků vrátí funkce následující formát:
{
"id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}",
"name": "{resourceGroupName}",
"type":"Microsoft.Resources/resourceGroups",
"location": "{resourceGroupLocation}",
"managedBy": "{identifier-of-managing-resource}",
"tags": {
},
"properties": {
"provisioningState": "{status}"
}
}
Vlastnost managedBy se vrátí pouze pro skupiny prostředků, které obsahují prostředky spravované jinou službou. U spravovaných aplikací, Databricks a AKS je hodnota vlastnosti ID prostředku pro správu prostředku.
Příklad skupiny prostředků
Následující příklad definuje modul na skupinu prostředků.
param resourceGroupName string
module exampleModule 'rgModule.bicep' = {
name: 'exampleModule'
scope: resourceGroup(resourceGroupName)
}
Následující příklad vrátí vlastnosti skupiny prostředků.
output resourceGroupOutput object = resourceGroup()
Vrátí objekt v následujícím formátu:
{
"id": "/subscriptions/{subscription-id}/resourceGroups/examplegroup",
"name": "examplegroup",
"type":"Microsoft.Resources/resourceGroups",
"location": "southcentralus",
"properties": {
"provisioningState": "Succeeded"
}
}
Běžným použitím funkce resourceGroup je vytvoření prostředků ve stejném umístění jako skupina prostředků. Následující příklad používá umístění skupiny prostředků pro výchozí hodnotu parametru.
param location string = resourceGroup().location
Pomocí funkce resourceGroup můžete také použít značky ze skupiny prostředků na prostředek. Další informace najdete v tématu Použití značek ze skupiny prostředků.
předplatné
subscription()
Vrátí podrobnosti o předplatném pro aktuální nasazení.
subscription(subscriptionId)
Vrátí objekt použitý k nastavení oboru na předplatné.
Obor názvů: az.
Poznámky
Funkce předplatného má dvě odlišná použití. Jedním z použití je nastavení rozsahu pro typ prostředku modulu nebo rozšíření. Dalším využitím je získání podrobností o aktuálním předplatném. Umístění funkce určuje jeho použití. Při použití k nastavení scope
vlastnosti vrátí objekt oboru.
subscription(subscriptionId)
lze použít pouze pro nastavení oboru.
subscription()
můžete použít k nastavení rozsahu nebo získání podrobností o předplatném.
Parametry
Parametr | Požaduje se | Type | Popis |
---|---|---|---|
subscriptionId | No | string | Jedinečný identifikátor předplatného, do které se má nasadit. Pokud nezadáte hodnotu, vrátí se aktuální předplatné. |
Vrácená hodnota
Při použití pro nastavení oboru vrátí funkce objekt, který je platný pro scope
vlastnost typu modulu nebo rozšíření prostředku.
Při použití pro získání podrobností o předplatném vrátí funkce následující formát:
{
"id": "/subscriptions/{subscription-id}",
"subscriptionId": "{subscription-id}",
"tenantId": "{tenant-id}",
"displayName": "{name-of-subscription}"
}
Příklad předplatného
Následující příklad definuje modul na předplatné.
module exampleModule 'subModule.bicep' = {
name: 'deployToSub'
scope: subscription()
}
Následující příklad vrátí podrobnosti o předplatném.
output subscriptionOutput object = subscription()
tenant
tenant()
Vrátí objekt použitý k nastavení oboru na tenanta.
Nebo
Vrátí tenanta uživatele.
Obor názvů: az.
Poznámky
tenant()
lze použít s libovolným oborem nasazení. Vždy vrátí aktuálního tenanta. Pomocí této funkce můžete nastavit obor prostředku nebo získat vlastnosti pro aktuálního tenanta.
Vrácená hodnota
Objekt použitý k nastavení scope
vlastnosti pro typ prostředku modulu nebo rozšíření. Nebo objekt s vlastnostmi o aktuálním tenantovi.
Příklad tenanta
Následující příklad ukazuje modul nasazený do tenanta.
module exampleModule 'tenantModule.bicep' = {
name: 'deployToTenant'
scope: tenant()
}
Následující příklad vrátí vlastnosti tenanta.
var tenantInfo = tenant()
output tenantResult object = tenantInfo
Vrátí se:
"tenantResult": {
"type": "Object",
"value": {
"countryCode": "US",
"displayName": "Contoso",
"id": "/tenants/00000000-0000-0000-0000-000000000000",
"tenantId": "aaaabbbb-0000-cccc-1111-dddd2222eeee"
}
}
Některé prostředky vyžadují nastavení ID tenanta pro vlastnost. Místo předání ID tenanta jako parametru ho můžete načíst pomocí funkce tenanta.
resource kv 'Microsoft.KeyVault/vaults@2023-07-01' = {
name: 'examplekeyvault'
location: 'westus'
properties: {
tenantId: tenant().tenantId
...
}
}
Další kroky
Další informace o oborech nasazení najdete tady: