Aracılığıyla paylaş


Azure Resource Manager ile Azure Stack Hub için şablonlar geliştirme

Uygulamanızı geliştirirken Azure ile Azure Stack Hub arasında şablon taşınabilirliğine sahip olmak önemlidir. Bu makalede, Azure Resource Manager şablonları geliştirmeye yönelik değerlendirmelersunulur. Bu şablonlarla uygulamanızın prototipini oluşturabilir ve Azure Stack Hub ortamına erişim olmadan Azure'da dağıtımı test edebilirsiniz.

Kaynak sağlayıcısı kullanılabilirliği

Dağıtmayı planladığınız şablon yalnızca Azure Stack Hub'da zaten kullanılabilir olan veya önizleme aşamasında olan Microsoft Azure hizmetlerini kullanmalıdır.

Genel ad alanları

Azure Stack Hub, veri merkezinizde barındırılıyor olduğundan, azure genel buluttan farklı hizmet uç noktası ad alanlarına sahiptir. Sonuç olarak, Azure Resource Manager şablonlarındaki sabit kodlanmış genel uç noktalar, Bunları Azure Stack Hub'a dağıtmaya çalıştığınızda başarısız olur. Dağıtım sırasında kaynak sağlayıcısından değer almak için reference ve concatenate işlevlerini kullanarak hizmet uç noktalarını dinamik olarak oluşturabilirsiniz. Örneğin, şablonunuzda hard kodlama blob.core.windows.net yerine primaryEndpoints.blob alarak osDisk.URI uç noktasını dinamik olarak ayarlayın.

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

API sürümleme

Azure hizmet sürümleri Azure ile Azure Stack Hub arasında farklılık gösterebilir. Her kaynak, sunulan özellikleri tanımlayan apiVersion özniteliğini gerektirir. Azure Stack Hub'da API sürümü uyumluluğunu sağlamak için aşağıdaki API sürümleri her kaynak sağlayıcısı için geçerlidir:

Kaynak Sağlayıcısı apiVersiyonu
Hesaplamak 2015-06-15
2015-06-15, 2015-05-01-preview
Depolama 2016-01-01, 2015-06-15, 2015-05-01-preview
KeyVault 2015-06-01
Uygulama Hizmeti 2015-08-01

Şablon işlevleri

Azure Resource Manager işlevleri dinamik şablonlar oluşturmak için gereken özellikleri sağlar. Örneğin, aşağıdakiler gibi görevler için işlevleri kullanabilirsiniz:

  • Dizeleri birleştirme veya kırpma.
  • Diğer kaynaklardan değerlere başvurma.
  • Birden çok örneği dağıtmak için kaynakları tekrar etmek.

Bu işlevler Azure Stack Hub'da kullanılamaz:

  • Atlamak
  • Almak

Kaynak konumu

Azure Resource Manager şablonları, dağıtım sırasında kaynakları yerleştirmek için location özniteliği kullanır. Azure'da konumlar Batı ABD veya Güney Amerika gibi bir bölgeye başvurur. Azure Stack Hub veri merkezinizde olduğundan Azure Stack Hub'da konumlar farklıdır. Şablonların Azure ile Azure Stack Hub arasında aktarılabilir olduğundan emin olmak için tek tek kaynakları dağıtırken kaynak grubu konumuna başvurmanız gerekir. Bunu, tüm kaynakların kaynak grubu konumunu devraldığından emin olmak için [resourceGroup().Location] kullanarak yapabilirsiniz. Aşağıdaki kod, depolama hesabı dağıtırken bu işlevin kullanılmasına bir örnektir:

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

Sonraki adımlar