Azure Blueprints ile kullanım işlevleri

Ö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ı, dağıtım yığınlarını tanımlamak için kullanılan ARM JSON şablonlarına veya Bicep dosyalarına dönüştürülecek. Yapıtı ARM kaynağı olarak yazmayı öğrenmek için bkz:

Azure Blueprints, şema tanımını daha dinamik hale getirmek için işlevler sağlar. Bu işlevler şema tanımları ve şema yapıtları ile birlikte kullanılır. Azure Resource Manager Şablonu (ARM şablonu) yapıtı, şema parametresi aracılığıyla dinamik bir değer almaya ek olarak Resource Manager işlevlerinin tam kullanımını destekler.

Aşağıdaki işlevler desteklenir:

Yapı

artifacts(artifactName)

Bu şema yapıtlarının çıkışlarıyla doldurulmuş bir özellik nesnesi döndürür.

Not

artifacts() İşlev arm şablonunun içinden kullanılamaz. İşlev, şemayı kod olarak şemanın bir parçası olarak Azure PowerShell veya REST API ile yönetirken yalnızca şema tanımı JSON'unda veya yapıt JSON'unda kullanılabilir.

Parametreler

Parametre Gerekli Tür Description
artifactName Yes string Şema yapıtı adı.

Döndürülen değer

Çıkış özelliklerinin nesnesi. Çıkış özellikleri, başvurulmakta olan şema yapıtı türüne bağlıdır. Tüm türler şu biçimi izler:

{
  "outputs": {collectionOfOutputProperties}
}

İlke atama yapıtı

{
    "outputs": {
        "policyAssignmentId": "{resourceId-of-policy-assignment}",
        "policyAssignmentName": "{name-of-policy-assignment}",
        "policyDefinitionId": "{resourceId-of-policy-definition}",
    }
}

ARM şablonu yapıtı

Döndürülen nesnenin çıkış özellikleri ARM şablonu içinde tanımlanır ve dağıtım tarafından döndürülür.

Rol ataması yapıtı

{
    "outputs": {
        "roleAssignmentId": "{resourceId-of-role-assignment}",
        "roleDefinitionId": "{resourceId-of-role-definition}",
        "principalId": "{principalId-role-is-being-assigned-to}",
    }
}

Örnek

Aşağıdaki örnek çıkış özelliğini içeren myTemplateArtifact kimliğine sahip bir ARM şablonu yapıtı:

{
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
    ...
    "outputs": {
        "myArray": {
            "type": "array",
            "value": ["first", "second"]
        },
        "myString": {
            "type": "string",
            "value": "my string value"
        },
        "myObject": {
            "type": "object",
            "value": {
                "myProperty": "my value",
                "anotherProperty": true
            }
        }
    }
}

myTemplateArtifact örneğinden veri almaya bazı örnekler şunlardır:

Expression Tür Değer
[artifacts("myTemplateArtifact").outputs.myArray] Dizi ["first", "second"]
[artifacts("myTemplateArtifact").outputs.myArray[0]] Dize "ilk"
[artifacts("myTemplateArtifact").outputs.myString] Dize "dize değerim"
[artifacts("myTemplateArtifact").outputs.myObject] Nesne { "myproperty": "my value", "anotherProperty": true }
[artifacts("myTemplateArtifact").outputs.myObject.myProperty] Dize "değerim"
[artifacts("myTemplateArtifact").outputs.myObject.anotherProperty] Bool Doğru

concat

concat(string1, string2, string3, ...)

Birden çok dize değerini birleştirir ve birleştirilmiş dizeyi döndürür.

Parametreler

Parametre Gerekli Tür Description
dize1 Yes string Birleştirme için ilk değer.
ek bağımsız değişkenler No string Birleştirme için sıralı sırada ek değerler

Döndürülen değer

Birleştirilmiş değerler dizesi.

Açıklamalar

Azure Blueprints işlevi ARM şablon işlevinden farklıdır ve yalnızca dizelerle çalışır.

Örnek

concat(parameters('organizationName'), '-vm')

parameters

parameters(parameterName)

Şema parametre değeri döndürür. Belirtilen parametre adı şema tanımında veya şema yapıtlarında tanımlanmalıdır.

Parametreler

Parametre Gerekli Tür Description
Parametername Yes string Döndürülecek parametrenin adı.

Döndürülen değer

Belirtilen şemanın veya şema yapıt parametresinin değeri.

Açıklamalar

Azure Blueprints işlevi ARM şablon işlevinden farklıdır ve yalnızca şema parametreleriyle çalışır.

Örnek

Şema tanımında parametre principalId'lerini tanımlayın:

{
    "type": "Microsoft.Blueprint/blueprints",
    "properties": {
        ...
        "parameters": {
            "principalIds": {
                "type": "array",
                "metadata": {
                    "displayName": "Principal IDs",
                    "description": "This is a blueprint parameter that any artifact can reference. We'll display these descriptions for you in the info bubble. Supply principal IDs for the users,groups, or service principals for the Azure role assignment.",
                    "strongType": "PrincipalId"
                }
            }
        },
        ...
    }
}

Ardından principalIds öğesini şema yapıtında bağımsız değişkeni parameters() olarak kullanın:

{
    "type": "Microsoft.Blueprint/blueprints/artifacts",
    "kind": "roleAssignment",
    ...
    "properties": {
        "roleDefinitionId": "/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635",
        "principalIds": "[parameters('principalIds')]",
        ...
    }
}

resourceGroup

resourceGroup()

Geçerli kaynak grubunu temsil eden bir nesne döndürür.

Döndürülen değer

Döndürülen nesne şu biçimdedir:

{
  "name": "{resourceGroupName}",
  "location": "{resourceGroupLocation}",
}

Açıklamalar

Azure Blueprints işlevi ARM şablon işlevinden farklıdır. İşlev abonelik resourceGroup() düzeyi yapıtında veya şema tanımında kullanılamaz. Yalnızca bir kaynak grubu yapıtının parçası olan şema yapıtlarında kullanılabilir.

işlevinin resourceGroup() yaygın kullanımlarından biri, kaynak grubu yapıtıyla aynı konumda kaynak oluşturmaktır.

Örnek

Şema tanımında veya atama sırasında başka bir yapıtın konumu olarak ayarlanan kaynak grubunun konumunu kullanmak için şema tanımınızda bir kaynak grubu yer tutucu nesnesi bildirin. Bu örnekte , NetworkingPlaceholder kaynak grubu yer tutucusunun adıdır.

{
    "type": "Microsoft.Blueprint/blueprints",
    "properties": {
        ...
        "resourceGroups": {
            "NetworkingPlaceholder": {
                "location": "eastus"
            }
        }
    }
}

Ardından işlevi, kaynak grubu yer tutucu nesnesini hedefleyen bir şema yapıtı bağlamında kullanın resourceGroup() . Bu örnekte, şablon yapıtı NetworkingPlaceholder kaynak grubuna dağıtılır ve resourceLocation parametresini şablonun NetworkingPlaceholder kaynak grubu konumuyla dinamik olarak doldurur. NetworkingPlaceholder kaynak grubunun konumu şema tanımında statik olarak tanımlanmış veya atama sırasında dinamik olarak tanımlanmış olabilir. Her iki durumda da şablon yapıtı bu bilgileri parametre olarak sağlar ve kaynakları doğru konuma dağıtmak için kullanır.

{
  "type": "Microsoft.Blueprint/blueprints/artifacts",
  "kind": "template",
  "properties": {
      "template": {
        ...
      },
      "resourceGroup": "NetworkingPlaceholder",
      ...
      "parameters": {
        "resourceLocation": {
          "value": "[resourceGroup().location]"
        }
      }
  }
}

resourceGroups

resourceGroups(placeholderName)

Belirtilen kaynak grubu yapıtını temsil eden bir nesne döndürür. Yapıtın bağlamını gerektiren işlevinin aksine resourceGroup(), bu işlev söz konusu kaynak grubu bağlamında olmadığında belirli bir kaynak grubu yer tutucusunun özelliklerini almak için kullanılır.

Parametreler

Parametre Gerekli Tür Description
placeholderName Yes string Döndürülecek kaynak grubu yapıtı yer tutucu adı.

Döndürülen değer

Döndürülen nesne şu biçimdedir:

{
  "name": "{resourceGroupName}",
  "location": "{resourceGroupLocation}",
}

Örnek

Şema tanımında veya atama sırasında başka bir yapıtın konumu olarak ayarlanan kaynak grubunun konumunu kullanmak için şema tanımınızda bir kaynak grubu yer tutucu nesnesi bildirin. Bu örnekte , NetworkingPlaceholder kaynak grubu yer tutucusunun adıdır.

{
    "type": "Microsoft.Blueprint/blueprints",
    "properties": {
        ...
        "resourceGroups": {
            "NetworkingPlaceholder": {
                "location": "eastus"
            }
        }
    }
}

Ardından kaynak grubu yer tutucu nesnesine başvuru almak için herhangi bir şema yapıtı bağlamındaki işlevini kullanın resourceGroups() . Bu örnekte, şablon yapıtı NetworkingPlaceholder kaynak grubunun dışına dağıtılır ve artifactLocation parametresini şablonun NetworkingPlaceholder kaynak grubu konumuyla dinamik olarak doldurur. NetworkingPlaceholder kaynak grubunun konumu şema tanımında statik olarak tanımlanmış veya atama sırasında dinamik olarak tanımlanmış olabilir. Her iki durumda da şablon yapıtı bu bilgileri parametre olarak sağlar ve kaynakları doğru konuma dağıtmak için kullanır.

{
  "kind": "template",
  "properties": {
      "template": {
          ...
      },
      ...
      "parameters": {
        "artifactLocation": {
          "value": "[resourceGroups('NetworkingPlaceholder').location]"
        }
      }
  },
  "type": "Microsoft.Blueprint/blueprints/artifacts",
  "name": "myTemplate"
}

aboneliği

subscription()

Geçerli şema ataması için abonelikle ilgili ayrıntıları döndürür.

Döndürülen değer

Döndürülen nesne şu biçimdedir:

{
    "id": "/subscriptions/{subscriptionId}",
    "subscriptionId": "{subscriptionId}",
    "tenantId": "{tenantId}",
    "displayName": "{name-of-subscription}"
}

Örnek

ResourceName parametresi olarak şablon yapıtına geçirilen bir adlandırma kuralı oluşturmak için aboneliğin görünen adını ve concat() işlevini kullanın.

{
  "kind": "template",
  "properties": {
      "template": {
          ...
      },
      ...
      "parameters": {
        "resourceName": {
          "value": "[concat(subscription().displayName, '-vm')]"
        }
      }
  },
  "type": "Microsoft.Blueprint/blueprints/artifacts",
  "name": "myTemplate"
}

Sonraki adımlar