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ích skupin pro správu. Vrátí aktuální skupinu pro správu pro operaci nasazení. Použijte při získávání objektu oboru nebo při získávání vlastností pro aktuální skupinu pro správu.
managementGroup(identifier)
lze použít pro libovolný obor nasazení, ale pouze při získávání objektu oboru. Pokud chcete načíst vlastnosti skupiny pro správu, nemůžete předat identifikátor skupiny pro správu.
Parametry
Parametr | Povinné | Typ | Popis |
---|---|---|---|
identifikátor | Ne | řetězec | 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 aktuální skupiny 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)
}
Další 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": "00000000-0000-0000-0000-000000000000"
},
"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@2020-05-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ě různá použití. Jedním z použití je nastavení oboru pro typ prostředku modulu nebo rozšíření. Další využití slouží k získání podrobností o aktuální skupině prostředků. Umístění funkce určuje její použití. Při použití k nastavení scope
vlastnosti vrátí objekt oboru.
resourceGroup()
můžete použít k nastavení oboru nebo k získání podrobností o skupině prostředků.
resourceGroup(resourceGroupName)
a resourceGroup(subscriptionId, resourceGroupName)
lze použít pouze k nastavení oboru.
Parametry
Parametr | Povinné | Typ | Popis |
---|---|---|---|
resourceGroupName | Ne | řetězec | Název skupiny prostředků, do které se má nasadit. Pokud nezadáte hodnotu, vrátí se aktuální skupina prostředků. |
subscriptionId | Ne | řetězec | 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 funkce vrátí objekt, který je platný pro scope
vlastnost typu prostředku modulu nebo rozšíření.
Při použití k 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 hodnotou vlastnosti ID prostředku správy.
Příklad skupiny prostředků
Následující příklad definuje obor modulu na skupinu prostředků.
param resourceGroupName string
module exampleModule 'rgModule.bicep' = {
name: 'exampleModule'
scope: resourceGroup(resourceGroupName)
}
Další 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"
}
}
Funkce resourceGroup se běžně používá k vytvář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
Můžete také použít funkci resourceGroup k použití značek 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ě různá použití. Jedním z použití je nastavení oboru pro typ prostředku modulu nebo rozšíření. Další využití slouží k získání podrobností o aktuálním předplatném. Umístění funkce určuje její 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 | Povinné | Typ | Popis |
---|---|---|---|
subscriptionId | Ne | řetězec | 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 funkce vrátí objekt, který je platný pro scope
vlastnost typu prostředku modulu nebo rozšíření.
Při použití k 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 rozsah modulu na předplatné.
module exampleModule 'subModule.bicep' = {
name: 'deployToSub'
scope: subscription()
}
Další příklad vrátí podrobnosti o předplatném.
output subscriptionOutput object = subscription()
Nájemce
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. Tuto funkci můžete použít k nastavení rozsahu prostředku nebo k získání vlastností 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 aktuálního tenanta.
Příklad tenanta
Následující příklad ukazuje modul nasazený do tenanta.
module exampleModule 'tenantModule.bicep' = {
name: 'deployToTenant'
scope: tenant()
}
Další 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": "00000000-0000-0000-0000-000000000000"
}
}
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@2021-06-01-preview' = {
name: 'examplekeyvault'
location: 'westus'
properties: {
tenantId: tenant().tenantId
...
}
}
Další kroky
Další informace o oborech nasazení najdete tady: