Sdílet prostřednictvím


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

Další kroky