Получить полное доменное имя SQL Azure из связанного шаблона - PullRequest
0 голосов
/ 08 марта 2019

Я ищу действительное свойство для получения полного доменного имени управляемого SQL-сервера Azure из развертывания связанного шаблона.Кажется, что приведенный ниже не является действительным

[reference(variables('sqlDeployment')).outputs.fullyQualifiedDomainName.value]"

и где я могу найти все поддерживаемые параметры?Кажется, сложно найти достаточно информации из Документов Microsoft.

1 Ответ

1 голос
/ 11 марта 2019

Похоже, что у вашего связанного шаблона не было выходного свойства с именем 'fullQualifiedDomainName'.

Чтобы получить выходное значение из связанного шаблона, получите значение свойства с синтаксисом, подобным " [reference ('deployName'). output.propertyName.value]", как описано здесь -> https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-group-linked-templates#get-values-from-linked-template

Ниже приведены примеры родительских и связанных шаблонов, чтобы выполнить ваше требование получения полного доменного имени управляемого SQL-сервера Azure..

Родительский шаблон с именем "parenttemplate.json" :

{
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "location": {
            "type": "string",
            "defaultValue": "[resourceGroup().location]",
            "metadata": {
              "description": "Location for all resources."
            }
        }
    },
    "variables": {
        "sqlserverName": "gttestsqlserver",
        "sqlAdministratorLogin": "gttestuser",
        "sqlAdministratorLoginPassword": "gttestpassword2#",
        "sqlDeployment": "linkedTemplate"
    },
    "resources": [
      {
        "apiVersion": "2017-05-10",
        "name": "[variables('sqlDeployment')]",
        "type": "Microsoft.Resources/deployments",
        "properties": {
          "mode": "Incremental",
          "templateLink": {
            "uri": "[uri(deployment().properties.templateLink.uri, 'linkedtemplate.json')]",
            "contentVersion": "1.0.0.0"
          }
        }
      }
    ],
    "outputs": {
        "messageFromLinkedTemplate": {
            "type": "string",
            "value": "[reference(variables('sqlDeployment')).outputs.MessageOne.value]"
        }
    }
}

Связанный шаблон с именем "connectedtemplate.json" :

{
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "location": {
            "type": "string",
            "defaultValue": "[resourceGroup().location]",
            "metadata": {
              "description": "Location for all resources."
            }
        }
    },
    "variables": {
        "sqlserverName": "gttestsqlserver",
        "sqlAdministratorLogin": "gttestuser",
        "sqlAdministratorLoginPassword": "gttestpassword2#"
    },
    "resources": [
        {
            "name": "[variables('sqlserverName')]",
            "type": "Microsoft.Sql/servers",
            "location": "[parameters('location')]",
            "tags": {
              "displayName": "gttestsqlserver"
            },
            "apiVersion": "2014-04-01",
            "properties": {
                "administratorLogin": "[variables('sqlAdministratorLogin')]",
                "administratorLoginPassword": "[variables('sqlAdministratorLoginPassword')]",
                "version": "12.0"
            }
        }
    ],
    "outputs": {
        "MessageOne": {
            "type" : "string",
            "value": "[reference(variables('sqlserverName')).fullyQualifiedDomainName]"
        }
    }
}

Оба вышеупомянутых шаблона размещены в контейнере BLOB-объектов хранилища.

Развертывание :

enter image description here

Иллюстрация получения полного доменного имени из развертывания :

enter image description here

В приведенном выше примере и иллюстрации свойство outputимя в связанном шаблоне называется «MessageOne» ипоскольку нам нужно полное доменное имя управляемого SQL-сервера Azure, поэтому значение этого выходного свойства «MessageOne» ссылается на «полностью указанное имя_домена».

А что касается поиска всех поддерживаемых параметров, то один из самых простых способов - получить всесвойства любого ресурса с помощью Get-Member, как показано в примере ниже.

enter image description here

Надеюсь, это поможет !!Ура !!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...