Vývoj šablon pro Azure Stack Hub s využitím Azure Resource Manager
Při vývoji aplikace je důležité mít mezi Azure a Službou Azure Stack Hub přenositelnost šablon. Tento článek obsahuje důležité informace o vývoji šablon Azure Resource Manager. Pomocí těchto šablon můžete vytvořit prototyp aplikace a otestovat nasazení v Azure bez přístupu k prostředí Služby Azure Stack Hub.
Dostupnost poskytovatele prostředků
Šablona, kterou chcete nasadit, musí používat jenom služby Microsoft Azure, které jsou už dostupné nebo ve verzi Preview ve službě Azure Stack Hub.
Veřejné obory názvů
Služba Azure Stack Hub je hostovaná ve vašem datacentru, a proto má jiné obory názvů koncových bodů služby než veřejný cloud Azure. Výsledkem je, že pevně zakódované veřejné koncové body v šablonách Azure Resource Manager při pokusu o jejich nasazení do služby Azure Stack Hub selžou. Pomocí funkcí a concatenate
můžete dynamicky reference
vytvářet koncové body služby a načítat hodnoty od poskytovatele prostředků během nasazování. Například místo pevného kódování blob.core.windows.net
v šabloně načtěte objekt primaryEndpoints.blob a dynamicky nastavte koncový bod osDisk.URI :
"osDisk": {"name": "osdisk","vhd": {"uri":
"[concat(reference(concat('Microsoft.Storage/storageAccounts/', variables('storageAccountName')), '2015-06-15').primaryEndpoints.blob, variables('vmStorageAccountContainerName'),
'/',variables('OSDiskName'),'.vhd')]"}}
Správa verzí rozhraní API
Verze služeb Azure se můžou mezi Azure a Službou Azure Stack Hub lišit. Každý prostředek vyžaduje atribut apiVersion , který definuje nabízené možnosti. Aby se zajistila kompatibilita verzí rozhraní API ve službě Azure Stack Hub, jsou pro každého poskytovatele prostředků platné následující verze rozhraní API:
Poskytovatel prostředků | apiVersion |
---|---|
Compute | 2015-06-15 |
Síť | 15. 6. 2015, 2015-05-01-preview |
Storage | 2016-01-01, 2015-06-15, 2015-05-01-preview |
KeyVault | 2015-06-01 |
App Service | 2015-08-01 |
Funkce šablon
Funkce Azure Resource Manager poskytují funkce potřebné k vytváření dynamických šablon. Jako příklad můžete použít funkce pro úlohy, jako jsou:
- Zřetězení nebo oříznutí řetězců.
- Odkazování na hodnoty z jiných prostředků
- Iterace prostředků za účelem nasazení více instancí
Tyto funkce nejsou ve službě Azure Stack Hub dostupné:
- Přeskočit
- Take
Umístění prostředku
Šablony Azure Resource Manager používají location
atribut k umístění prostředků během nasazování. V Azure odkazuje umístění na oblast, jako je usa – západ nebo Jižní Amerika. Ve službě Azure Stack Hub se umístění liší, protože Azure Stack Hub je ve vašem datacentru. Pokud chcete zajistit, aby šablony byly přenositelné mezi Azure a Službou Azure Stack Hub, měli byste při nasazování jednotlivých prostředků odkazovat na umístění skupiny prostředků. Pomocí toho [resourceGroup().Location]
můžete zajistit, aby všechny prostředky dědily umístění skupiny prostředků. Následující kód je příkladem použití této funkce při nasazování účtu úložiště:
"resources": [
{
"name": "[variables('storageAccountName')]",
"type": "Microsoft.Storage/storageAccounts",
"apiVersion": "[variables('apiVersionStorage')]",
"location": "[resourceGroup().location]",
"comments": "This storage account is used to store the VM disks",
"properties": {
"accountType": "Standard_LRS"
}
}
]