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"
  }
}
]

Další kroky