Vývoj šablon pro Azure Stack Hub pomocí Azure Resource Manageru
Při vývoji aplikace je důležité mít přenositelnost šablon mezi Azure a Azure Stack Hubem. Tento článek obsahuje důležité informace o vývoji šablon Azure Resource Manageru. Pomocí těchto šablon můžete vytvořit prototyp aplikace a testovací nasazení v Azure bez přístupu k prostředí služby Azure Stack Hub.
Dostupnost poskytovatele prostředků
Šablona, kterou plánujete nasadit, musí používat pouze služby Microsoft Azure, které už jsou k dispozici nebo ve verzi Preview ve službě Azure Stack Hub.
Veřejné jmenné prostory
Vzhledem k tomu, že je azure Stack Hub hostovaný ve vašem datacentru, má různé obory názvů koncových bodů služby než veřejný cloud Azure. V důsledku toho se při pokusu o nasazení do služby Azure Stack Hub selžou pevně zakódované veřejné koncové body v šablonách Azure Resource Manageru. Koncové body služby můžete dynamicky vytvářet pomocí funkcí reference
a concatenate
k načtení hodnot z poskytovatele prostředků během nasazování. Například místo pevného kódování blob.core.windows.net
ve vaší šabloně načtěte primaryEndpoints.blob, abyste dynamicky nastavili 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 Azure Stack Hubem lišit. Každý prostředek vyžaduje atribut apiVersion, který definuje nabízené možnosti. Pokud chcete zajistit kompatibilitu verzí rozhraní API ve službě Azure Stack Hub, platí pro každého poskytovatele prostředků následující verze rozhraní API:
Poskytovatel prostředků | apiVersion |
---|---|
Vypočítat | 15. 6. 2015 |
Síť | 2015-06-15 2015-05-01-preview |
Skladování | 2016-01-01, 2015-06-15, 2015-05-01-preview |
KeyVault | 01.06.2015 |
Služba Aplikací | 2015-08-01 |
Funkce šablon
Funkce Azure Resource Manageru poskytují možnosti potřebné k vytváření dynamických šablon. Jako příklad můžete použít funkce pro úlohy, jako jsou:
- Slučování nebo oříznutí řetězců
- Odkazování na hodnoty z jiných prostředků
- Opakované použití prostředků k nasazení více instancí
Tyto funkce nejsou ve službě Azure Stack Hub k dispozici:
- Přeskočit
- Vezměte
Umístění prostředku
Šablony Azure Resource Manageru používají atribut location
k umístění prostředků během nasazení. Umístění v Azure odkazují 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ů. Můžete to provést pomocí [resourceGroup().Location]
, abyste zajistili, že všechny prostředky přebírají 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"
}
}
]