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