Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Important
Azure Blueprints (Önizleme) 31 Ocak 2027'de kullanımdan kaldırılacak ve 31 Temmuz 2026'da aşamalı kullanımdan kaldırılacaktır. Mevcut şema tanımlarınızı ve atamalarınızı Dağıtım Yığınlarına (önerilen) ve Şablon Belirtimlerine 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ülür. Aşamalı zaman çizelgesinin tamamı, etkiler ve SSS için Azure Blueprints'in kullanımdan kaldırılması sayfasına veya https://aka.ms/AzureBlueprintsRetirement bakın. Bir yapıtı ARM kaynağı olarak yazmayı öğrenmek için bkz:
Şema ataması Az.Blueprint Azure PowerShell modülü kullanılarak yönetilebilir. Modül atamaları getirme, oluşturma, güncelleştirme ve kaldırmayı destekler. Modül ayrıca mevcut şema tanımlarıyla ilgili ayrıntıları da getirebilir. Bu makalede modülün nasıl yükleneceği ve kullanmaya nasıl başleneceği açıklanır.
Az.Blueprint modülünü ekleme
şema atamalarını yönetmek üzere Azure PowerShell etkinleştirmek için modülün eklenmesi gerekir. Bu modül yerel olarak yüklenmiş PowerShell ile, Azure Cloud Shell veya Azure PowerShell Docker görüntüsüyle kullanılabilir.
Temel gereksinimler
Azure Blueprints modülü aşağıdaki yazılımları gerektirir:
- Azure PowerShell 1.5.0 veya üzeri. Henüz yüklenmiş değilse, bu yönergeleri izleyin.
- PowerShellGet 2.0.1 veya üzeri. Yüklü veya güncelleştirilmiş değilse bu yönergeleri izleyin.
Modülü yükleme
PowerShell için Azure Blueprints modülü Az.Blueprint'dir.
Yönetim PowerShell isteminden aşağıdaki komutu çalıştırın:
# Install the Azure Blueprints module from PowerShell Gallery Install-Module -Name Az.BlueprintNote
Az.Accounts zaten yüklüyse, yüklemeyi zorlamak için kullanılması
-AllowClobbergerekebilir.Modülün içeri aktarıldığını ve doğru sürüm (0.2.6) olduğunu doğrulayın:
# Get a list of commands for the imported Az.Blueprint module Get-Command -Module 'Az.Blueprint' -CommandType 'Cmdlet'
Şema tanımlarını alma
Atamayla çalışmanın ilk adımı genellikle şema tanımına başvuru almaktır.
Get-AzBlueprint cmdlet'i, bir veya daha fazla blueprint tanımını getirir. Cmdlet, -ManagementGroupId {mgId} ile bir yönetim grubundan veya -SubscriptionId {subId} ile bir abonelikten taslak tanımlarını alabilir.
Name parametresi bir şema tanımı alır, ancak ManagementGroupId veya SubscriptionId ile kullanılmalıdır.
Sürüm, hangi şema tanımının döndürüldüğünü daha açık belirtmek için Ad ile birlikte kullanılabilir.
Sürüm yerine, -LatestPublished anahtarı en son yayımlanan sürümü seçer.
Aşağıdaki örnek, Get-AzBlueprint kullanarak {subId} ile temsil edilen belirli bir abonelikten '101-blueprints-definition-subscription' adlı şema tanımının tüm sürümlerini alır:
# Login first with Connect-AzAccount if not using Cloud Shell
# Get all versions of the blueprint definition in the specified subscription
$blueprints = Get-AzBlueprint -SubscriptionId '{subId}' -Name '101-blueprints-definition-subscription'
# Display the blueprint definition object
$blueprints
Birden çok sürüme sahip bir şema tanımının örnek çıktısı şöyle görünür:
Name : 101-blueprints-definition-subscription
Id : /subscriptions/{subId}/providers/Microsoft.Blueprint/blueprints/101
-blueprints-definition-subscription
DefinitionLocationId : {subId}
Versions : {1.0, 1.1}
TimeCreated : 2019-02-25
TargetScope : Subscription
Parameters : {storageAccount_storageAccountType, storageAccount_location,
allowedlocations_listOfAllowedLocations, [Usergrouporapplicationname]:Reader_RoleAssignmentName}
ResourceGroups : ResourceGroup
Şema tanımındaki şema parametreleri daha fazla bilgi sağlamak için genişletilebilir.
$blueprints.Parameters
Key Value
--- -----
storageAccount_storageAccountType Microsoft.Azure.Commands.Blueprint.Models.PSParameterDefinition
storageAccount_location Microsoft.Azure.Commands.Blueprint.Models.PSParameterDefinition
allowedlocations_listOfAllowedLocations Microsoft.Azure.Commands.Blueprint.Models.PSParameterDefinition
[Usergrouporapplicationname]:Reader_RoleAssignmentName Microsoft.Azure.Commands.Blueprint.Models.PSParameterDefinition
Şema atamalarını alma
Blueprint ataması zaten varsa, Get-AzBlueprintAssignment cmdlet’i ile ona bir referans alabilirsiniz. Cmdlet isteğe bağlı parametreler olarak SubscriptionId ve Name değerlerini alır.
SubscriptionId belirtilmezse geçerli abonelik bağlamı kullanılır.
Aşağıdaki örnek, {subId} ile gösterilen belirli bir abonelikten 'Assignment-lock-resource-groups' adlı tek bir taslak ataması almak için Get-AzBlueprintAssignment kullanır:
# Login first with Connect-AzAccount if not using Cloud Shell
# Get the blueprint assignment in the specified subscription
$blueprintAssignment = Get-AzBlueprintAssignment -SubscriptionId '{subId}' -Name 'Assignment-lock-resource-groups'
# Display the blueprint assignment object
$blueprintAssignment
Şema ataması için örnek çıktı şöyle görünür:
Name : Assignment-lock-resource-groups
Id : /subscriptions/{subId}/providers/Microsoft.Blueprint/blueprintAssignme
nts/Assignment-lock-resource-groups
Scope : /subscriptions/{subId}
LastModified : 2019-02-19
LockMode : AllResourcesReadOnly
ProvisioningState : Succeeded
Parameters :
ResourceGroups : ResourceGroup
Şema atamaları oluşturma
Şema ataması henüz mevcut değilse, onu New-AzBlueprintAssignment cmdlet'iyle oluşturabilirsiniz. Bu cmdlet aşağıdaki parametreleri kullanır:
Ad [gerekli]
- Şema atamasının adını belirtir
- Benzersiz olmalı ve SubscriptionId içinde mevcut olmamalıdır
Şema [gerekli]
- Atanacak şema tanımını belirtir
- Referans nesnesini almak için
Get-AzBlueprintkullanın
Konum [gerekli]
- Sistem tarafından atanan yönetilen kimlik ve abonelik dağıtım nesnesinin oluşturulacağı bölgeyi belirtir
Abonelik (isteğe bağlı)
- Atamanın dağıtılacağı aboneliği belirtir
- Sağlanmadıysa, varsayılan olarak geçerli abonelik bağlamını kullanır
Kilitleme (isteğe bağlı)
- Dağıtılan kaynaklar için kullanılacak şema kaynak kilitlemesini tanımlar
- Desteklenen seçenekler: None, AllResourcesReadOnly, AllResourcesDoNotDelete
- Sağlanmadıysa, varsayılan değer Yok olur
SystemAssignedIdentity (isteğe bağlı)
- Atama için sistem tarafından atanan yönetilen kimlik oluşturmak ve kaynakları dağıtmak için seçin
- "Identity" parametre kümesi için varsayılan
- UserAssignedIdentity ile kullanılamaz
UserAssignedIdentity (isteğe bağlı)
- Atama için kullanılacak ve kaynakları dağıtmak için kullanıcı tarafından atanan yönetilen kimliği belirtir
- "Identity" parametre kümesinin parçası
- SystemAssignedIdentity ile kullanılamaz
Parametre (isteğe bağlı)
Şema ataması üzerinde dinamik parametreler ayarlamak için anahtar/değer çiftlerininkarma tablosu
Dinamik parametre için varsayılan değer, tanımdaki defaultValue değeridir
Bir parametre sağlanmadıysa ve defaultValue değeri yoksa, parametre isteğe bağlı değildir
Note
Parametre secureStrings'i desteklemez.
ResourceGroupParameter (isteğe bağlı)
- Kaynak grubu artefaktlarının karma tablosu
- Her kaynak grubu yapıt yer tutucusu, bu kaynak grubu yapıtı üzerinde Ad ve Konum'u dinamik olarak ayarlamak için anahtar/değer çiftlerine sahiptir
- Kaynak grubu parametresi sağlanmadıysa ve defaultValue değeri yoksa, kaynak grubu parametresi isteğe bağlı değildir
AssignmentFile (isteğe bağlı)
- Şema atamasının JSON dosya gösterimi yolu
- Bu parametre, yalnızca Name, Blueprint ve SubscriptionId değerlerinin yanı sıra ortak parametreleri içeren bir PowerShell parametre kümesinin parçasıdır.
Örnek 1: Parametreleri sağlama
Aşağıdaki örnek, Get-AzBlueprint ile getirilen 'my-blueprint' blueprint tanımının '1.1' sürümüne ait yeni bir atama oluşturur, yönetilen kimliği ve atama nesnesinin konumunu 'westus2' olarak ayarlar, kaynakları AllResourcesReadOnly ile kilitler ve {subId} ile gösterilen belirli abonelik için hem Parameter hem de ResourceGroupParameter adına hash tablolarını ayarlar:
# Login first with Connect-AzAccount if not using Cloud Shell
# Get version '1.1' of the blueprint definition in the specified subscription
$bpDefinition = Get-AzBlueprint -SubscriptionId '{subId}' -Name 'my-blueprint' -Version '1.1'
# Create the hash table for Parameters
$bpParameters = @{storageAccount_storageAccountType='Standard_GRS'}
# Create the hash table for ResourceGroupParameters
# ResourceGroup is the resource group artifact placeholder name
$bpRGParameters = @{ResourceGroup=@{name='storage_rg';location='westus2'}}
# Create the new blueprint assignment
$bpAssignment = New-AzBlueprintAssignment -Name 'my-blueprint-assignment' -Blueprint $bpDefinition `
-SubscriptionId '{subId}' -Location 'westus2' -Lock AllResourcesReadOnly `
-Parameter $bpParameters -ResourceGroupParameter $bpRGParameters
Şema ataması oluşturmaya yönelik örnek çıktı şöyle görünür:
Name : my-blueprint-assignment
Id : /subscriptions/{subId}/providers/Microsoft.Blueprint/blueprintAssi
gnments/my-blueprint-assignment
Scope : /subscriptions/{subId}
LastModified : 2019-03-13
LockMode : AllResourcesReadOnly
ProvisioningState : Creating
Parameters : {storageAccount_storageAccountType}
ResourceGroups : ResourceGroup
Örnek 2: JSON atama tanımı dosyası kullanma
Aşağıdaki örnek, Örnek 1 ile neredeyse aynı atamayı oluşturur. Örnekte cmdlet'e parametre geçirmek yerine JSON atama tanımı dosyasının ve AssignmentFile parametresinin kullanımı gösterilmektedir. Ayrıca, excludedPrincipals özelliği kilitler kapsamında yapılandırılır. excludedPrincipals için bir PowerShell parametresi yoktur ve özellik yalnızca JSON atama tanımı dosyası aracılığıyla ayarlanarak yapılandırılabilir.
{
"identity": {
"type": "SystemAssigned"
},
"location": "westus2",
"properties": {
"description": "Assignment of the 101-blueprint-definition-subscription",
"blueprintId": "/subscriptions/{subId}/providers/Microsoft.Blueprint/blueprints/101-blueprints-definition-subscription",
"locks": {
"mode": "AllResourcesReadOnly",
"excludedPrincipals": [
"7be2f100-3af5-4c15-bcb7-27ee43784a1f",
"38833b56-194d-420b-90ce-cff578296714"
]
},
"parameters": {
"storageAccount_storageAccountType": {
"value": "Standard_GRS"
}
},
"resourceGroups": {
"ResourceGroup": {
"name": "storage_rg",
"location": "westus2"
}
}
}
}
# Login first with Connect-AzAccount if not using Cloud Shell
# Create the new blueprint assignment
$bpAssignment = New-AzBlueprintAssignment -Name 'my-blueprint-assignment' -SubscriptionId '{subId}' `
-AssignmentFile '.\assignment.json'
Kullanıcı tarafından atanan yönetilen kimlik için JSON atama tanımı dosyası örneği için Örnek: REST API için kullanıcı tarafından atanan yönetilen kimlikle atama makalesindeki istek gövdesine bakın.
Şema atamalarını güncelleştirme
Bazen önceden oluşturulmuş bir şema atamasını güncelleştirmek gerekir. Cmdlet Set-AzBlueprintAssignment bu eylemi işler. Bu cmdlet, New-AzBlueprintAssignment cmdlet’inin kullandığı parametrelerin çoğunu alır ve atamada ayarlanmış her şeyin güncellenmesine olanak tanır. Özel durumlar Name, Blueprint ve SubscriptionId'dir. Yalnızca sağlanan değerler güncelleştirilir.
Şema atamasını güncelleştirirken ne olduğunu anlamak için bkz. Atamaları güncelleştirme kuralları.
Ad [gerekli]
- Güncelleştirilecek şema atamasının adını belirtir
- Atamayı değiştirmek için değil, güncelleştirilecek atamayı bulmak için kullanılır
Şema [gerekli]
- Şema atamasının şema tanımını belirtir
- Referans nesnesini almak için
Get-AzBlueprintkullanın - Atamayı değiştirmek için değil, güncelleştirilecek atamayı bulmak için kullanılır
Konum (isteğe bağlı)
- Sistem tarafından atanan yönetilen kimlik ve abonelik dağıtım nesnesinin oluşturulacağı bölgeyi belirtir
Abonelik (isteğe bağlı)
- Atamanın dağıtılacağı aboneliği belirtir
- Sağlanmadıysa, varsayılan olarak geçerli abonelik bağlamını kullanır
- Atamayı değiştirmek için değil, güncelleştirilecek atamayı bulmak için kullanılır
Kilitleme (isteğe bağlı)
- Dağıtılan kaynaklar için kullanılacak şema kaynak kilitlemesini tanımlar
- Desteklenen seçenekler: None, AllResourcesReadOnly, AllResourcesDoNotDelete
SystemAssignedIdentity (isteğe bağlı)
- Atama için sistem tarafından atanan yönetilen kimlik oluşturmak ve kaynakları dağıtmak için seçin
- "Identity" parametre kümesi için varsayılan
- UserAssignedIdentity ile kullanılamaz
UserAssignedIdentity (isteğe bağlı)
- Atama için kullanılacak ve kaynakları dağıtmak için kullanıcı tarafından atanan yönetilen kimliği belirtir
- "Identity" parametre kümesinin parçası
- SystemAssignedIdentity ile kullanılamaz
Parametre (isteğe bağlı)
Şema ataması üzerinde dinamik parametreler ayarlamak için anahtar/değer çiftlerininkarma tablosu
Dinamik parametre için varsayılan değer, tanımdaki defaultValue değeridir
Bir parametre sağlanmadıysa ve defaultValue değeri yoksa, parametre isteğe bağlı değildir
Note
Parametre secureStrings'i desteklemez.
ResourceGroupParameter (isteğe bağlı)
- Kaynak grubu artefaktlarının karma tablosu
- Her kaynak grubu yapıt yer tutucusu, bu kaynak grubu yapıtı üzerinde Ad ve Konum'u dinamik olarak ayarlamak için anahtar/değer çiftlerine sahiptir
- Kaynak grubu parametresi sağlanmadıysa ve defaultValue değeri yoksa, kaynak grubu parametresi isteğe bağlı değildir
Aşağıdaki örnek, kilit modunu değiştirerek getirilen Get-AzBlueprint 'my-blueprint' şema tanımının '1.1' sürümünün atamasını güncelleştirir:
# Login first with Connect-AzAccount if not using Cloud Shell
# Get version '1.1' of the blueprint definition in the specified subscription
$bpDefinition = Get-AzBlueprint -SubscriptionId '{subId}' -Name 'my-blueprint' -Version '1.1'
# Update the existing blueprint assignment
$bpAssignment = Set-AzBlueprintAssignment -Name 'my-blueprint-assignment' -Blueprint $bpDefinition `
-SubscriptionId '{subId}' -Lock AllResourcesDoNotDelete
Şema ataması oluşturmaya yönelik örnek çıktı şöyle görünür:
Name : my-blueprint-assignment
Id : /subscriptions/{subId}/providers/Microsoft.Blueprint/blueprintAssi
gnments/my-blueprint-assignment
Scope : /subscriptions/{subId}
LastModified : 2019-03-13
LockMode : AllResourcesDoNotDelete
ProvisioningState : Updating
Parameters : {storageAccount_storageAccountType}
ResourceGroups : ResourceGroup
Şema atamalarını kaldırma
Şema atamasının kaldırılma zamanı geldiğinde, Remove-AzBlueprintAssignment cmdlet bu eylemi işler. Cmdlet, hangi şema atamasının kaldırılacağını belirtmek için Name veya InputObject alır.
SubscriptionIdgereklidir ve her durumda sağlanmalıdır.
Aşağıdaki örnek, Get-AzBlueprintAssignment kullanarak mevcut bir şema atamasını alır ve ardından bunu {subId} ile temsil edilen belirli abonelikten kaldırır:
# Login first with Connect-AzAccount if not using Cloud Shell
# Get the blueprint assignment in the specified subscription
$blueprintAssignment = Get-AzBlueprintAssignment -Name 'Assignment-lock-resource-groups'
# Remove the existing blueprint assignment
Remove-AzBlueprintAssignment -InputObject $blueprintAssignment -SubscriptionId '{subId}'
Kod örneği
Aşağıdaki örnek, tüm adımları bir araya getirerek şema tanımını alır, ardından olarak {subId}temsil edilen belirli bir abonelikte şema ataması oluşturur, güncelleştirir ve kaldırır:
# Login first with Connect-AzAccount if not using Cloud Shell
#region GetBlueprint
# Get version '1.1' of the blueprint definition in the specified subscription
$bpDefinition = Get-AzBlueprint -SubscriptionId '{subId}' -Name 'my-blueprint' -Version '1.1'
#endregion
#region CreateAssignment
# Create the hash table for Parameters
$bpParameters = @{storageAccount_storageAccountType='Standard_GRS'}
# Create the hash table for ResourceGroupParameters
# ResourceGroup is the resource group artifact placeholder name
$bpRGParameters = @{ResourceGroup=@{name='storage_rg';location='westus2'}}
# Create the new blueprint assignment
$bpAssignment = New-AzBlueprintAssignment -Name 'my-blueprint-assignment' -Blueprint $bpDefinition `
-SubscriptionId '{subId}' -Location 'westus2' -Lock AllResourcesReadOnly `
-Parameter $bpParameters -ResourceGroupParameter $bpRGParameters
#endregion CreateAssignment
# Wait for the blueprint assignment to finish deployment prior to the next steps
#region UpdateAssignment
# Update the existing blueprint assignment
$bpAssignment = Set-AzBlueprintAssignment -Name 'my-blueprint-assignment' -Blueprint $bpDefinition `
-SubscriptionId '{subId}' -Lock AllResourcesDoNotDelete
#endregion UpdateAssignment
# Wait for the blueprint assignment to finish deployment prior to the next steps
#region RemoveAssignment
# Remove the existing blueprint assignment
Remove-AzBlueprintAssignment -InputObject $bpAssignment -SubscriptionId '{subId}'
#endregion
Sonraki Adımlar
- Şema yaşam döngüsü hakkında bilgi edinin.
- Statik ve dinamik parametrelerin nasıl kullanılacağını anlama.
- Şema sıralama düzenini özelleştirmeyi öğrenin.
- Taslak kaynak kilitlemeyi nasıl kullanacağınızı öğrenin.
- Genel sorun giderme ile şema ataması sırasındaki sorunları çözün.