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: