次の方法で共有


Bicep のデプロイ関数

この記事では、現在のデプロイに関連する値を取得するための Bicep 関数について説明します。

配置元

deployer()

現在のデプロイ プリンシパルに関する情報を返します。

名前空間: az

戻り値

この関数は、テナント ID やオブジェクト ID など、現在のデプロイ プリンシパルに関する情報を返します。

{
  "objectId": "",
  "tenantId": ""
}

次の Bicep ファイルの例では、配置元オブジェクトが返されます。

output deployer object = deployer()

前の例では、次のオブジェクトが返されます。

{
  "objectId":"aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb",
  "tenantId":"aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e"
}

deployment

deployment()

現在のデプロイ操作に関する情報を返します。

名前空間: az

戻り値

この関数は、デプロイ中に渡されたオブジェクトを返します。 返されたオブジェクトのプロパティは、以下に該当するかどうかによって異なります。

ローカルの Bicep ファイルをリソース グループにデプロイすると、関数から次の形式が返されます。

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

Azure サブスクリプション、管理グループ、またはテナントにデプロイする場合は、返されるオブジェクトに location プロパティが含まれています。 ローカルの Bicep ファイルをデプロイするときは、location プロパティは含まれていません。 形式は次のようになります:

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

次の例では、デプロイ オブジェクトが返されます。

output deploymentOutput object = deployment()

前の例では、次のオブジェクトが返されます。

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

デプロイに使用される Azure 環境に関する情報を返します。 environment()関数は、リソース構成を認識していません。 返すことができる既定の DNS サフィックスは、リソースの種類ごとに 1 つだけです。

名前空間: az

解説

アカウントの登録済み環境の一覧を表示するには、az cloud list または Get-AzEnvironment を使用します。

戻り値

この関数では、現在の Azure 環境のプロパティが返されます。 次の例では、グローバル Azure のプロパティを示しています。 ソブリン クラウドでは、少し異なるプロパティが返される場合があります。

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

次の Bicep のファイルの例では、environment オブジェクトが返されます。

output environmentOutput object = environment()

前の例では、グローバル 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"
  }
}

次のステップ

  • リソース、リソース グループ、サブスクリプションから値を取得する方法については、「 リソース関数」を参照してください。