Blog
Abonnement-ID in einer Azure Resource Manager-Vorlage abrufen

Vor kurzem habe ich eine Azure Resource Manager-Vorlage für die Bereitstellung einer Web-App geschrieben. Die Web App benötigte einige Anwendungseinstellungen (wie Verbindungsstrings usw.), die ich während der Bereitstellung der Resource Manager-Vorlage bereitstellen wollte. Eine der benötigten Einstellungen war die Azure-Abonnementnummer, unter der die Web App erstellt wurde. Ich wollte die Abonnementnummer nicht hart codieren oder über einen Parameter bereitstellen (was eine Möglichkeit ist, die Hartcodierung zu verschieben), also habe ich ein wenig recherchiert und die Lösung gefunden.
In der Azure RM-Vorlage können Sie Ressourcenfunktionen verwenden, die während der Laufzeiteinstellungen der Bereitstellung ausgewertet werden können.
Die, die ich brauchte, war subscription() , die die folgende Struktur hat:
{
"id": "/abonnements/#####",
"subscriptionId": "#####",
"tenantId": "#####"
}
Das heißt, Sie können die Funktion wie folgt verwenden:
"Parameter": {
"siteName": {
"Typ": "string"
}
},
"Ressourcen": [
{
"apiVersion": "2014-06-01",
"Name": "[parameters('siteName')]",
"Typ": "Microsoft.Web/Sites",
"Eigenschaften": {
"subscriptionid": "[subscription().subscriptionId]",
"AzureWebJobsDashboard": "xxxx",
"AzureWebJobsStorage": "xxxx"
}
}
]
Es gibt noch weitere nette Funktionen, die Sie möglicherweise verwenden müssen, wie: resourceGroup(), resourceId ([resourceGroupName], resourceType, resourceName1, [resourceName2]...).
Verfasst von
Marco Mansi
Contact