Freigeben über


Bereitstellungsfunktionen für Bicep

In diesem Artikel werden die Bicep-Funktionen zum Abrufen von Werten im Zusammenhang mit der aktuellen Bereitstellung beschrieben.

Einsatzleiter

deployer()

Gibt Informationen zum Prinzipal (Identität) zurück, der die aktuelle Bereitstellung initiiert hat. Der Prinzipal kann ein Benutzer, Dienstprinzipal oder verwaltete Identität sein, je nachdem, wie die Bereitstellung gestartet wurde.

Namespace: az

Rückgabewert

Diese Funktion gibt ein Objekt mit Details zum Bereitstellungsprinzipal zurück, einschließlich:

  • objectId: Die Microsoft Entra ID-Objekt-ID des Prinzipals.
  • tenantId: Die Microsoft Entra ID-Mandanten-ID.
  • userPrincipalName: Der Benutzerprinzipalname (USER Principal Name, UPN), falls verfügbar. Bei Dienstprinzipalen oder verwalteten Identitäten ist diese Eigenschaft möglicherweise leer.

Hinweis

Die zurückgegebenen Werte hängen vom Bereitstellungskontext ab. Beispielsweise userPrincipalName kann es für Dienstprinzipale oder verwaltete Identitäten leer sein.

{
  "objectId": "<principal-object-id>",
  "tenantId": "<tenant-id>",
  "userPrincipalName": "<user@___domain.com or empty>"
}

Beispiel

The following example Bicep file returns the deployer object.

output deployer object = deployer()

Beispielausgabe (Werte unterscheiden sich je nach Bereitstellung):

{
  "objectId":"aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb",
  "tenantId":"aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e",
  "userPrincipalName":"john.doe@contoso.com"
}

Weitere Informationen zu Azure-Identitäten finden Sie unter Was ist eine Azure Active Directory-Identität?.

Einsatz

deployment()

Gibt Informationen zum aktuellen Bereitstellungsvorgang zurück.

Namespace: az

Rückgabewert

Diese Funktion gibt das Objekt zurück, das während der Bereitstellung übergeben wird. Die Eigenschaften in dem zurückgegebenen Objekt unterscheiden sich abhängig davon, wo Sie sich befinden:

Beim Bereitstellen einer lokalen Bicep-Datei in einer Ressourcengruppe gibt die Funktion das folgende Format zurück:

{
  "name": "",
  "properties": {
    "template": {
      "$schema": "",
      "contentVersion": "",
      "parameters": {},
      "variables": {},
      "resources": [],
      "outputs": {}
    },
    "templateHash": "",
    "parameters": {},
    "mode": "",
    "provisioningState": ""
  }
}

Wenn Sie in einem Azure-Abonnement, einer Verwaltungsgruppe oder einem Mandanten bereitstellen, enthält das Rückgabeobjekt eine ___location-Eigenschaft. Die ___location-Eigenschaft ist beim Bereitstellen einer lokalen Bicep-Datei nicht enthalten. Das Format lautet:

{
  "name": "",
  "___location": "",
  "properties": {
    "template": {
      "$schema": "",
      "contentVersion": "",
      "resources": [],
      "outputs": {}
    },
    "templateHash": "",
    "parameters": {},
    "mode": "",
    "provisioningState": ""
  }
}

Beispiel

Im folgenden Beispiel wird das Bereitstellungsobjekt zurückgegeben:

output deploymentOutput object = deployment()

Im vorherigen Beispiel wird das folgende Objekt zurückgegeben:

{
  "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()

Gibt Informationen zur für die Bereitstellung verwendeten Azure-Umgebung zurück. Die environment() Funktion kennt keine Ressourcenkonfigurationen. Es kann nur ein einzelnes Standard-DNS-Suffix für jeden Ressourcentyp zurückgeben.

Namespace: az

Hinweise

Um eine Liste der registrierten Umgebungen für Ihr Konto anzuzeigen, verwenden Sie az cloud list oder Get-AzEnvironment.

Rückgabewert

Diese Funktion gibt Eigenschaften für die aktuelle Azure-Umgebung zurück. Das folgende Beispiel zeigt die Eigenschaften für globales Azure. Sovereign Clouds können etwas andere Eigenschaften zurückgeben.

{
  "name": "",
  "gallery": "",
  "graph": "",
  "portal": "",
  "graphAudience": "",
  "activeDirectoryDataLake": "",
  "batch": "",
  "media": "",
  "sqlManagement": "",
  "vmImageAliasDoc": "",
  "resourceManager": "",
  "authentication": {
    "loginEndpoint": "",
    "audiences": [
      "",
      ""
    ],
    "tenant": "",
    "identityProvider": ""
  },
  "suffixes": {
    "acrLoginServer": "",
    "azureDatalakeAnalyticsCatalogAndJob": "",
    "azureDatalakeStoreFileSystem": "",
    "azureFrontDoorEndpointSuffix": "",
    "keyvaultDns": "",
    "sqlServerHostname": "",
    "storage": ""
  }
}

Beispiel

Die folgende Bicep-Beispieldatei gibt das Umgebungsobjekt zurück.

output environmentOutput object = environment()

Im vorherigen Beispiel wird bei Bereitstellung in globalem Azure das folgende Objekt zurückgegeben:

{
  "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"
  }
}

Nächste Schritte

  • Informationen zum Abrufen von Werten aus Ressourcen, Ressourcengruppen oder Abonnements finden Sie unter Ressourcenfunktionen.