Шаблон Azure Resource Manager: как получить строку подключения для ресурса в другой группе ресурсов?

Я хочу развернуть AzureKeyVault, который содержит строку подключения AzureStorageAccount из другой группы ресурсов. Я знаю, что вы можете сделать это, если AzureKeyVault и AzureStorageAccount находятся в одной группе ресурсов, как показано ниже.

"resources": [
    {
      "type": "Microsoft.KeyVault/vaults/secrets",
      "name": "secretName",
      "properties": {
        "value": "[concat('DefaultEndpointsProtocol=https;EndpointSuffix=core.windows.net;AccountName=', 'StorageAccountName', ';AccountKey=', first(listKeys(resourceId('Microsoft.Storage/storageAccounts', 'StorageAccountName'), variables('storageApiVersion')).keys).value)]"
      },
      "dependsOn": []
    },
    {
      "type": "Microsoft.Storage/storageAccounts",
      "name": "StorageAccountName",
      ...
    },
    {
        "type": "Microsoft.KeyVault/vaults",
        "name": "KeyVaultName",
        ...
    }
  ]

Мой вопрос: как изменить это, чтобы получить строку подключения из другой группы ресурсов, которая уже была развернута?


person Yituo    schedule 27.09.2019    source источник


Ответы (1)


используйте встроенный функционал функции resourceId():

resourceId(%different_rg_name%, 'Microsoft.Storage/storageAccounts', 'StorageAccountName')

https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-group-template-functions-resource#resourceid

person 4c74356b41    schedule 28.09.2019