2016-12-14 4 views
0

У меня есть azuredeploy.json, который настраивает приложение-приложение, запускающее мое веб-приложение с открытым исходным кодом NodeJS. После запуска развертывания я хотел бы вывести URL-адрес пользователю сценария (например, человеку, использующему azuredeploy.net для развертывания моего веб-приложения), указав им URL-адрес консоли администратора для своего нового сервера.Выходная строка URL-адреса администратора из сценария azuredeploy/ARM

Некоторые из моих пользователей, вероятно, никогда не использовали Azure раньше, и самая сложная часть процесса развертывания объясняет, как они находят URL-адрес своей новой службы приложений, используя портал Azure (что довольно подавляющее).

Если бы я смог вывести строку после развертывания, это спасло бы от них много неприятностей.

+0

Я использую раздел выходов, но это не кажется производить вывод, когда скрипт работает на azuredeploy.net или через лазурный портал? – Seth

ответ

0

Вы ознакомились с функциональностью output в шаблонах ARM?
См. this blog для примера того, как работает вывод и где вы увидите его как часть развертывания ARM в powershell.

URL-адрес службы приложения довольно легко создать в variable, а затем просто вывести его в конце развертывания.

0
{ 
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", 
    "contentVersion": "1.0.0.0", 
    "parameters": { ... }, 
    "variables": { 
    ... 
    "primaryWebApp": "[uniqueString(resourceGroup().id, '1')]", 
    ... 
    }, 
    "resources": [ 
    { ... }, 
    { 
     "apiVersion": "2015-01-01", 
     "name": "webAppPrimary", 
     "type": "Microsoft.Resources/deployments", 
     "dependsOn": [ 
     "[resourceId('Microsoft.Resources/deployments', 'StorageAccount')]" 
     ], 
     "properties": { 
     "mode": "Incremental", 
     "templateLink": { ... }, 
     "parameters": { 
     "siteName": { 
      "value": "[variables('primaryWebApp')]" 
      }, 
     ... } 
     } 
     } 
    }, 
    { ... }], 
    "outputs": { 
    "webAppPrimary": { 
     "type": "string", 
     "value": "[variables('primaryWebApp')]" 
    }, 
    ... 
    } 
} 

А потом я сделать что-то вроде этого:

try { $deploy = New-AzureRmResourceGroupDeployment @parameters } 
catch { Remove-AzureRmResourceGroup -ResourceGroupName $rgName -Force; $error; exit 1 } 

$primaryWepAppName = $deploy.outputs.values.value[0] 

построить окончательный URL Вы:

$url = "$primaryWebAppName.azurewebsites.net"