Parametreler aracılığıyla dinamik şemalar oluşturma
Önemli
11 Temmuz 2026'da Blueprints (Önizleme) kullanım dışı bırakılacaktır. Mevcut şema tanımlarınızı ve atamalarınızı Şablon Özellikleri ve Dağıtım Yığınları'na geçirin. Şema yapıtları ARM JSON şablonlarına veya dağıtım yığınlarını tanımlamak için kullanılan Bicep dosyalarına dönüştürülecek. Bir yapıtı ARM kaynağı olarak yazmayı öğrenmek için bkz:
Kaynak grupları, Azure Resource Manager şablonları (ARM şablonları), ilkeler veya rol atamaları gibi çeşitli yapıtlara sahip tam tanımlı bir şema, Azure'da nesnelerin hızlı oluşturulmasını ve tutarlı bir şekilde oluşturulmasını sağlar. Azure Blueprints, bu yeniden kullanılabilir tasarım desenlerinin ve kapsayıcılarının esnek kullanımını etkinleştirmek için parametreleri destekler. parametresi, şema tarafından dağıtılan yapıtlardaki özellikleri değiştirmek için hem tanım hem de atama sırasında esneklik oluşturur.
Kaynak grubu yapıtı basit bir örnektir. Bir kaynak grubu oluşturulduğunda, sağlanması gereken iki gerekli değer vardır: ad ve konum. Şemanıza kaynak grubu eklerken parametreler yoksa, şemanın her kullanımı için bu adı ve konumu tanımlarsınız. Bu yineleme, şemanın her kullanımının aynı kaynak grubunda yapıtlar oluşturmasına neden olabilir. Bu kaynak grubu içindeki kaynaklar çoğaltılır ve çakışmaya neden olur.
Not
İki farklı şemanın aynı ada sahip bir kaynak grubu içermesi sorun değildir. Şemaya dahil edilen bir kaynak grubu zaten varsa, şema ilgili yapıtları bu kaynak grubunda oluşturmaya devam eder. Aynı ada ve kaynak türüne sahip iki kaynak abonelik içinde mevcut olmadığından bu bir çakışmaya neden olabilir.
Bu sorunun çözümü parametrelerdir. Azure Blueprints, aboneliğe atama sırasında yapıtın her özelliği için değer tanımlamanızı sağlar. parametresi, çakışma olmadan tek bir abonelik içinde kaynak grubu ve diğer kaynakları oluşturan şemanın yeniden kullanılmasını mümkün kılar.
Şema parametreleri
REST API aracılığıyla parametreler şemanın kendisinde oluşturulabilir. Bu parametreler desteklenen yapıtların her biri üzerindeki parametrelerden farklıdır. Şemada bir parametre oluşturulduğunda, bu şemadaki yapıtlar tarafından kullanılabilir. Kaynak grubunun adlandırma ön eki örnek olarak gösterilebilir. Yapıt şema parametresini kullanarak "çoğunlukla dinamik" bir parametre oluşturabilir. Parametre atama sırasında da tanımlanabildiği için, bu desen adlandırma kurallarına uyabilecek bir tutarlılık sağlar. Adımlar için bkz . Statik parametreleri ayarlama - şema düzeyi parametresi.
secureString ve secureObject parametrelerini kullanma
ARM şablonu yapıtı secureString ve secureObject türlerinin parametrelerini desteklerken, Azure Blueprints her birinin bir Azure Key Vault ile bağlanmasını gerektirir. Bu güvenlik önlemi Blueprint ile birlikte gizli dizileri depolamanın güvenli olmayan uygulamasını engeller ve güvenli desenlerin çalıştırılmasını teşvik eder. Azure Blueprints, bir ARM şablonu yapıtına her iki güvenli parametrenin de dahil edilmesini algılayarak bu güvenlik ölçüsünü destekler. Daha sonra hizmet, algılanan güvenli parametre başına aşağıdaki Key Vault özelliklerini atama sırasında sorar:
- Key Vault kaynak kimliği
- Key Vault gizli dizi adı
- Key Vault gizli dizi sürümü
Şema ataması sistem tarafından atanan bir yönetilen kimlik kullanıyorsa, başvuruda bulunılan Key Vault şema tanımının atandığı abonelikte bulunmalıdır .
Şema ataması kullanıcı tarafından atanan bir yönetilen kimlik kullanıyorsa, başvuruda bulunılan Key Vault merkezi bir abonelikte bulunabilir . Yönetilen kimliğe şema atamasından önce Key Vault'ta uygun haklar verilmelidir.
Önemli
Her iki durumda da Key Vault'un Erişim ilkeleri sayfasında Şablon dağıtımı için Azure Resource Manager'a erişimi etkinleştir seçeneği yapılandırılmış olmalıdır. Bu özelliği etkinleştirme yönergeleri için bkz . Key Vault - Şablon dağıtımlarını etkinleştirme.
Azure Key Vault hakkında daha fazla bilgi için bkz . Key Vault'a Genel Bakış.
Parametre türleri
Statik parametreler
Şemanın tanımında tanımlanan parametre değeri statik parametre olarak adlandırılır, çünkü şemanın her kullanımı yapıtı bu statik değeri kullanarak dağıtır. Kaynak grubu örneğinde, kaynak grubunun adı için anlamlı olmasa da, konum için anlamlı olabilir. Ardından şemanın her ataması, atama sırasında her ne çağrılırsa aynı konumda kaynak grubunu oluşturur. Bu esneklik, gerektiğinde tanımladığınız ve atama sırasında değiştirilebilen özelliklere göre seçici olmanıza olanak tanır.
Portalda statik parametreleri ayarlama
Sol bölmede Tüm hizmetler'i seçin. Şemalar’ı arayıp seçin.
Soldaki sayfadan Şema tanımları'nı seçin.
Mevcut bir şemayı seçin ve şemayı düzenle'yi seçin VEYA + Şema oluştur'u seçin ve Temel Bilgiler sekmesindeki bilgileri doldurun.
İleri: Yapıtlar'ı seçin VEYA Yapıtlar sekmesini seçin.
Parametre seçenekleri olan şemaya eklenen yapıtlar, Parametreler sütununda X / Y parametrelerini görüntüler. Yapıt parametrelerini düzenlemek için yapıt satırını seçin.
Yapıtı Düzenle sayfası, seçilen yapıta uygun değer seçeneklerini görüntüler. Yapıt üzerindeki her parametrenin başlığı, değer kutusu ve onay kutusu vardır. Kutuyu işaretsiz olarak ayarlayarak statik bir parametre haline getirin. Aşağıdaki örnekte, yalnızca Location işareti kaldırıldığından ve Kaynak Grubu Adı denetlendiğinden statik bir parametredir.
REST API'den statik parametreleri ayarlama
Her bir REST API URI'sinde kendi değerlerinizle değiştirmeniz gereken değişkenler bulunur:
{YourMG}
- Yönetim grubunuzun adıyla değiştirin{subscriptionId}
- Abonelik kimliğinizle değiştirin
Şema düzeyi parametresi
REST API aracılığıyla şema oluştururken şema parametreleri oluşturmak mümkündür. Bunu yapmak için aşağıdaki REST API URI'sini ve gövde biçimini kullanın:
REST API URI'si
PUT https://management.azure.com/providers/Microsoft.Management/managementGroups/{YourMG}/providers/Microsoft.Blueprint/blueprints/MyBlueprint?api-version=2018-11-01-preview
İstek Gövdesi
{ "properties": { "description": "This blueprint has blueprint level parameters.", "targetScope": "subscription", "parameters": { "owners": { "type": "array", "metadata": { "description": "List of AAD object IDs that is assigned Owner role at the resource group" } } }, "resourceGroups": { "storageRG": { "description": "Contains the resource template deployment and a role assignment." } } } }
Şema düzeyi parametresi oluşturulduktan sonra bu şemaya eklenen yapıtlarda kullanılabilir. Aşağıdaki REST API örneği şemada bir rol ataması yapıtı oluşturur ve şema düzeyi parametresini kullanır.
REST API URI'si
PUT https://management.azure.com/providers/Microsoft.Management/managementGroups/{YourMG}/providers/Microsoft.Blueprint/blueprints/MyBlueprint/artifacts/roleOwner?api-version=2018-11-01-preview
İstek Gövdesi
{ "kind": "roleAssignment", "properties": { "resourceGroup": "storageRG", "roleDefinitionId": "/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635", "principalIds": "[parameters('owners')]" } }
Bu örnekte principalIds özelliği, değerini kullanarak sahipler şema düzeyi parametresini [parameters('owners')]
kullanır. Şema düzeyi parametresi kullanarak yapıt üzerinde parametre ayarlama işlemi yine de statik parametre örneğidir. Şema düzeyi parametresi şema ataması sırasında ayarlanamaz ve her atamada aynı değere sahiptir.
Yapıt düzeyi parametresi
Yapıt üzerinde statik parametreler oluşturmak benzerdir, ancak işlevini kullanmak parameters()
yerine düz bir değer alır. Aşağıdaki örnek, tagName ve tagValue adlı iki statik parametre oluşturur. Her birinin değeri doğrudan sağlanır ve işlev çağrısı kullanmaz.
REST API URI'si
PUT https://management.azure.com/providers/Microsoft.Management/managementGroups/{YourMG}/providers/Microsoft.Blueprint/blueprints/MyBlueprint/artifacts/policyStorageTags?api-version=2018-11-01-preview
İstek Gövdesi
{ "kind": "policyAssignment", "properties": { "description": "Apply storage tag and the parameter also used by the template to resource groups", "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/49c88fc8-6fd1-46fd-a676-f12d1d3a4c71", "parameters": { "tagName": { "value": "StorageType" }, "tagValue": { "value": "Premium_LRS" } } } }
Dinamik parametreler
Statik parametrenin tersi dinamik parametredir. Bu parametre şemada tanımlanmamıştır, bunun yerine şemanın her ataması sırasında tanımlanır. Kaynak grubu örneğinde, kaynak grubu adı için dinamik parametre kullanılması mantıklıdır. Şemanın her ataması için farklı bir ad sağlar. Şema işlevlerinin listesi için bkz . şema işlevleri başvurusu.
Portalda dinamik parametreleri ayarlama
Sol bölmede Tüm hizmetler'i seçin. Şemalar’ı arayıp seçin.
Soldaki sayfadan Şema tanımları'nı seçin.
Atamak istediğiniz şemaya sağ tıklayın. Şema ata'yı seçin VEYA atamak istediğiniz şemayı seçin, ardından Şema ata düğmesini kullanın.
Şema ata sayfasında Yapıt parametreleri bölümünü bulun. En az bir dinamik parametreye sahip her yapıt, yapıtı ve yapılandırma seçeneklerini görüntüler. Şemayı atamadan önce parametrelere gerekli değerleri sağlayın. Aşağıdaki örnekte Ad, şema atamasını tamamlamak için tanımlanması gereken dinamik bir parametredir.
REST API'den dinamik parametreleri ayarlama
Atama sırasında dinamik parametreleri ayarlama işlemi, doğrudan değer girilerek yapılır. Parameters() gibi bir işlev kullanmak yerine, sağlanan değer uygun bir dizedir. Kaynak grubu yapıtları "şablon adı", ad ve konum özellikleriyle tanımlanır. Dahil edilen yapıt için diğer tüm parametreler, ad> ve değer anahtar çifti olan <parametreler altında tanımlanır. Şema, atama sırasında sağlanmayan dinamik bir parametre için yapılandırılmışsa, atama başarısız olur.
REST API URI'si
PUT https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.Blueprint/blueprintAssignments/assignMyBlueprint?api-version=2018-11-01-preview
İstek Gövdesi
{ "properties": { "blueprintId": "/providers/Microsoft.Management/managementGroups/{YourMG} /providers/Microsoft.Blueprint/blueprints/MyBlueprint", "resourceGroups": { "storageRG": { "name": "StorageAccount", "location": "eastus2" } }, "parameters": { "storageAccountType": { "value": "Standard_GRS" }, "tagName": { "value": "CostCenter" }, "tagValue": { "value": "ContosoIT" }, "contributors": { "value": [ "7be2f100-3af5-4c15-bcb7-27ee43784a1f", "38833b56-194d-420b-90ce-cff578296714" ] }, "owners": { "value": [ "44254d2b-a0c7-405f-959c-f829ee31c2e7", "316deb5f-7187-4512-9dd4-21e7798b0ef9" ] } } }, "identity": { "type": "systemAssigned" }, "location": "westus" }
Sonraki adımlar
- Şema işlevlerinin listesine bakın.
- Şema yaşam döngüsü hakkında bilgi edinin.
- Şema sıralama düzenini özelleştirmeyi öğrenin.
- Şema kaynak kilitleme özelliğini kullanmayı öğrenin.
- Mevcut atamaları güncelleştirmeyi öğrenin.
- Genel sorun giderme adımlarıyla şema atama sorunlarını giderin.