Sdílet prostřednictvím


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: