Sablonok fejlesztése az Azure Stack Hubhoz az Azure Resource Manager

Az alkalmazás fejlesztése során fontos, hogy a sablonhordozhatóság az Azure és az Azure Stack Hub között legyen. Ez a cikk az Azure Resource Manager-sablonok fejlesztésének szempontjait ismerteti. Ezekkel a sablonokkal prototípust készíthet az alkalmazásról, és tesztelheti az Üzembe helyezést az Azure-ban anélkül, hogy hozzáfér egy Azure Stack Hub-környezethez.

Erőforrás-szolgáltató rendelkezésre állása

Az üzembe helyezni kívánt sablonnak csak az Azure Stack Hubban már elérhető vagy előzetes verzióban elérhető Microsoft Azure-szolgáltatásokat kell használnia.

Nyilvános névterek

Mivel az Azure Stack Hub az adatközpontban található, más szolgáltatásvégpont-névterekkel rendelkezik, mint az Azure nyilvános felhője. Ennek eredményeképpen az Azure Resource Manager-sablonokban a rögzített nyilvános végpontok meghiúsulnak, amikor megpróbálja üzembe helyezni őket az Azure Stack Hubban. A és concatenate függvények reference használatával dinamikusan hozhat létre szolgáltatásvégpontokat, hogy az üzembe helyezés során értékeket kérjen le az erőforrás-szolgáltatótól. Például a sablonban történő kemény kódolás blob.core.windows.net helyett kérje le a primaryEndpoints.blob fájlt az osDisk.URI végpont dinamikus beállításához:

"osDisk": {"name": "osdisk","vhd": {"uri":
"[concat(reference(concat('Microsoft.Storage/storageAccounts/', variables('storageAccountName')), '2015-06-15').primaryEndpoints.blob, variables('vmStorageAccountContainerName'),
 '/',variables('OSDiskName'),'.vhd')]"}}

API-verziószámozás

Az Azure-szolgáltatásverziók eltérhetnek az Azure és az Azure Stack Hub között. Minden erőforráshoz szükség van az apiVersion attribútumra, amely meghatározza a kínált képességeket. Az API-verzió kompatibilitásának biztosítása érdekében az Azure Stack Hubban az alábbi API-verziók érvényesek az egyes erőforrás-szolgáltatókra:

Erőforrás-szolgáltató apiVersion
Compute 2015-06-15
Network (Hálózat) 2015-06-15, 2015-05-01-preview
Tárolás 2016-01-01, 2015-06-15, 2015-05-01-preview
KeyVault 2015-06-01
App Service 2015-08-01

Sablonfüggvények

Az Azure Resource Manager-függvények biztosítják a dinamikus sablonok létrehozásához szükséges képességeket. Például függvényeket használhat olyan feladatokhoz, mint például:

  • Sztringek összefűzése vagy vágása.
  • Más erőforrások értékeire való hivatkozás.
  • Iterálás az erőforrásokon több példány üzembe helyezéséhez.

Ezek a függvények nem érhetők el az Azure Stack Hubban:

  • Kihagyás
  • Take

Erőforrás helye

Az Azure Resource Manager-sablonok egy location attribútummal helyezik el az erőforrásokat az üzembe helyezés során. Az Azure-ban a helyek olyan régióra hivatkoznak, mint az USA nyugati régiója vagy Dél-Amerika. Az Azure Stack Hubban a helyek eltérőek, mivel az Azure Stack Hub az adatközpontban található. Annak érdekében, hogy a sablonok átvihetők legyenek az Azure és az Azure Stack Hub között, az egyes erőforrások üzembe helyezésekor hivatkoznia kell az erőforráscsoport helyére. Ezzel [resourceGroup().Location] biztosíthatja, hogy az összes erőforrás örökölje az erőforráscsoport helyét. Az alábbi kód erre a függvényre mutat példát egy tárfiók üzembe helyezésekor:

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

Következő lépések