Udostępnij przez


Funkcje wdrażania dla Bicep

W tym artykule opisano funkcje Bicep służące do pobierania wartości związanych z bieżącym wdrożeniem.

Osoba wdrażająca

deployer()

Zwraca informacje o jednostce (tożsamości), która zainicjowała bieżące wdrożenie. Jednostka główna może być użytkownikiem, jednostką usługi lub tożsamością zarządzaną w zależności od sposobu uruchomienia wdrożenia.

Przestrzeń nazw: az.

Wartość zwracana

Ta funkcja zwraca obiekt ze szczegółami dotyczącymi jednostki wdrożenia, w tym:

  • objectId: Identyfikator obiektu Entra firmy Microsoft podmiotu zabezpieczeń.
  • tenantId: Identyfikator dzierżawy entra firmy Microsoft.
  • userPrincipalName: główna nazwa użytkownika (UPN), jeśli jest dostępna. W przypadku jednostek usługi lub tożsamości zarządzanych ta właściwość może być pusta.

Uwaga / Notatka

Zwrócone wartości zależą od kontekstu wdrożenia. Na przykład userPrincipalName może być pusta dla jednostek usługi lub tożsamości zarządzanych.

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

Przykład

Poniższy przykładowy plik Bicep zwraca obiekt modułu wdrażania.

output deployer object = deployer()

Przykładowe dane wyjściowe (wartości różnią się w zależności od wdrożenia):

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

Aby uzyskać więcej informacji na temat tożsamości platformy Azure, zobacz Co to jest tożsamość usługi Azure Active Directory?.

wdrażanie

deployment()

Zwraca informacje o bieżącej operacji wdrażania.

Przestrzeń nazw: az.

Wartość zwracana

Pliki Bicep są czasami kompilowane do szablonów arm languageVersion 2.0 . W związku z tym sprawdzanie typów Bicep uwzględnia deployment() funkcję, która zwraca tylko podzbiór właściwości, tak jak zostanie zwrócony w szablonie ARM languageVersion 2.0. Aby uzyskać więcej informacji, zobacz deployment() function for languageVersion 2.0 (Funkcja deployment() dla wersji languageVersion 2.0.

Przykład

Poniższy przykład zwraca obiekt wdrożenia:

output deploymentOutput object = deployment()

Powyższy przykład zwraca następujący obiekt:

{
  "name": "deploymentOutput",
  "location": "",
  "properties": {
    "template": {
      "contentVersion": "1.0.0.0",
      "metadata": {
        "_EXPERIMENTAL_WARNING": "This template uses ARM features that are experimental. Experimental features should be enabled for testing purposes only, as there are no guarantees about the quality or stability of these features. Do not enable these settings for any production usage, or your production environment may be subject to breaking.",
        "_EXPERIMENTAL_FEATURES_ENABLED": [
          "Asserts"
        ],
        "_generator": {
          "name": "bicep",
          "version": "0.39.26.7824",
          "templateHash": "10348958332696598785"
        }
      }
    }
  }
}

środowisko

environment()

Zwraca informacje o środowisku platformy Azure używanym do wdrożenia. Funkcja environment() nie zna konfiguracji zasobów. Może zwracać tylko jeden domyślny sufiks DNS dla każdego typu zasobu.

Przestrzeń nazw: az.

Uwagi

Aby wyświetlić listę zarejestrowanych środowisk dla konta, użyj polecenia az cloud list lub Get-AzEnvironment.

Wartość zwracana

Ta funkcja zwraca właściwości dla bieżącego środowiska platformy Azure. W poniższym przykładzie przedstawiono właściwości globalnej platformy Azure. Suwerenne chmury mogą zwracać nieco inne właściwości.

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

Przykład

Poniższy przykładowy plik Bicep zwraca obiekt środowiska.

output environmentOutput object = environment()

Powyższy przykład zwraca następujący obiekt podczas wdrażania na globalnej platformie Azure:

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

Następne kroki

  • Aby uzyskać wartości z zasobów, grup zasobów lub subskrypcji, zobacz Funkcje zasobów.