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 Belirtimleri 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. 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 içinde 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.

Basit bir örnek, kaynak grubu yapıtıdır. 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 oluşturmaz. Şemaya dahil edilen bir kaynak grubu zaten varsa, şema ilgili yapıtları bu kaynak grubunda oluşturmaya devam eder. Bir abonelik içinde aynı ada ve kaynak türüne sahip iki kaynak olmadığından bu durum ç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ıza olanak tanır. parametresi, çakışma yaşamadan tek bir abonelik içinde kaynak grubu ve diğer kaynakları oluşturan bir şemanın yeniden kullanılmasını mümkün kılar.

Şema parametreleri

REST API aracılığıyla şemanın kendisinde parametreler oluşturulabilir. Bu parametreler desteklenen yapıtların her birinde bulunan parametrelerden farklıdır. Şemada bir parametre oluşturulduğunda, bu şemadaki yapıtlar tarafından kullanılabilir. Kaynak grubunun adlandırılması için önek ö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 desteklese de, Azure Blueprints her birinin bir Azure Key Vault bağlı olmasını gerektirir. Bu güvenlik önlemi, gizli dizileri Blueprint ile birlikte depolamanın güvenli olmayan uygulamasını engeller ve güvenli desenlerin çalışmasını teşvik eder. Azure Blueprints, bir ARM şablonu yapıtına güvenli parametre eklenmesini algılayarak bu güvenlik ölçüsünü destekler. Ardından hizmet, algılanan güvenli parametre başına aşağıdaki Key Vault özelliklerini atama sırasında sorar:

  • kaynak kimliğini Key Vault
  • gizli dizi adını Key Vault
  • gizli sürüm Key Vault

Şema ataması sistem tarafından atanan yönetilen kimlik kullanıyorsa, başvuruda bulunan Key Vault şema tanımının atandığı abonelikte bulunmalıdır.

Şema ataması kullanıcı tarafından atanan yönetilen kimlik kullanıyorsa, başvuruda bulunılan Key Vault merkezi bir abonelikte bulunabilir. Şema atamadan önce yönetilen kimliğe Key Vault uygun haklar verilmelidir.

Önemli

Her iki durumda da, Key Vault Erişim ilkeleri sayfasında Şablon dağıtımı için Azure Resource Manager erişimini etkinleştir 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 Genel Bakış.

Parametre türleri

Statik parametreler

Şemanın her kullanımı yapıtı bu statik değeri kullanarak dağıtacağından, şema tanımında tanımlanan parametre değeri statik parametre olarak adlandırılı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 çağrılan kaynak grubunu aynı konumda oluşturur. Bu esneklik, gerektiğinde tanımladığınız ve atama sırasında değiştirilebilen özellikler arasında seçici olmanıza olanak tanır.

Portalda statik parametreleri ayarlama

  1. Sol bölmede Tüm hizmetler'i seçin. Şemalar’ı arayıp seçin.

  2. Soldaki sayfadan Şema tanımları'nı seçin.

  3. Mevcut bir şemayı seçin ve şemayı düzenle'yi seçin VEYA + Şema oluştur'u seçip Temel Bilgiler sekmesindeki bilgileri doldurun.

  4. İleri: Yapıtlar'ı SEÇIN VEYA Yapıtlar sekmesini seçin.

  5. 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.

    Şema tanımının ve 'X / Y parametrelerinin dolduruldu' vurgulanmış ekran görüntüsü.

  6. 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.

    Şema yapıtındaki statik parametrelerin ekran görüntüsü.

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 statik parametre örneğidir. Şema düzeyi parametresi şema ataması sırasında ayarlanamaz ve her atamada aynı değer olur.

Yapıt düzeyi parametresi

Bir 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 bir değer 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 kullanmak 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

  1. Sol bölmede Tüm hizmetler'i seçin. Şemalar’ı arayıp seçin.

  2. Soldaki sayfadan Şema tanımları'nı seçin.

  3. Atamak istediğiniz şemaya sağ tıklayın. Şema ata'yı seçin VEYA atamak istediğiniz şemayı seçin ve şema ata düğmesini kullanın.

  4. Ş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 .

    Şema ataması sırasında dinamik parametreleri ayarlama ekran görüntüsü.

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 grubunun 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