Похоже, что у вашего связанного шаблона не было выходного свойства с именем '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-объектов хранилища.
Развертывание :
Иллюстрация получения полного доменного имени из развертывания :
В приведенном выше примере и иллюстрации свойство outputимя в связанном шаблоне называется «MessageOne» ипоскольку нам нужно полное доменное имя управляемого SQL-сервера Azure, поэтому значение этого выходного свойства «MessageOne» ссылается на «полностью указанное имя_домена».
А что касается поиска всех поддерживаемых параметров, то один из самых простых способов - получить всесвойства любого ресурса с помощью Get-Member, как показано в примере ниже.
Надеюсь, это поможет !!Ура !!