PowerShell ile şema tanımlarını içeri ve dışarı aktarma
Ö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, Azure portal aracılığıyla tam olarak yönetilebilir. Kuruluşlar Azure Blueprints kullanımına ilerledikçe şema tanımlarını yönetilen kod olarak düşünmeye başlamalıdır. Bu kavram genellikle Kod Olarak Altyapı (IaC) olarak adlandırılır. Şema tanımlarınızı kod olarak ele alma, Azure portal sağladığının ötesinde ek avantajlar sunar. Bu avantajlar:
- Şema tanımlarını paylaşma
- Şema tanımlarınızı yedekleme
- Şema tanımlarını farklı kiracılarda veya aboneliklerde yeniden kullanıyor
- Şema tanımlarını kaynak denetimine yerleştirme
- Test ortamlarında şema tanımlarının otomatik testi
- Sürekli tümleştirme ve sürekli dağıtım (CI/CD) işlem hatları desteği
Nedenleriniz ne olursa olsun, şema tanımlarınızı kod olarak yönetmenin avantajları vardır. Bu makalede Az.Blueprint modülünde ve Export-AzBlueprintWithArtifact
komutlarının nasıl kullanılacağı Import-AzBlueprintWithArtifact
gösterilmektedir.
Önkoşullar
Bu makalede, Azure Blueprints hakkında orta düzeyde bir çalışma bilgisi olduğu varsayılır. Henüz yapmadıysanız aşağıdaki makaleleri inceleyin:
- Portalda şema oluşturma
- Dağıtım aşamaları ve şema yaşam döngüsü hakkında bilgi edinin
- PowerShell ile şema tanımlarını ve atamalarını oluşturma ve yönetme
Henüz yüklü değilse Az.Blueprint modülünü PowerShell Galerisi yüklemek ve doğrulamak için Az.Blueprint modülünü ekleme bölümündeki yönergeleri izleyin.
Şema tanımının klasör yapısı
Şemaları dışarı ve içeri aktarmaya bakmadan önce şema tanımını oluşturan dosyaların nasıl yapılandırıldığına bakalım. Şema tanımı kendi klasöründe depolanmalıdır.
Önemli
Cmdlet'in Import-AzBlueprintWithArtifact
Name parametresine hiçbir değer geçirilmediyse şema tanımının depolandığı klasörün adı kullanılır.
olarak adlandırılması blueprint.json
gereken şema tanımıyla birlikte, şema tanımının oluşturulduğu yapıtlardır. Her yapıt adlı artifacts
alt klasörde olmalıdır.
Bir araya getirerek şema tanımınızın klasörlerdeki JSON dosyaları olarak yapısı aşağıdaki gibi görünmelidir:
.
|
|- MyBlueprint/ _______________ # Root folder name becomes default name of blueprint definition
| |- blueprint.json __________ # The blueprint definition. Fixed name.
|
| |- artifacts/ ______________ # Subfolder for all blueprint artifacts. Fixed name.
| |- artifact.json ________ # Blueprint artifact as JSON file. Artifact named from file.
| |- ...
| |- more-artifacts.json
Şema tanımınızı dışarı aktarma
Şema tanımınızı dışarı aktarma adımları basittir. Şema tanımını dışarı aktarmak paylaşım, yedekleme veya kaynak denetimine yerleştirme için yararlı olabilir.
-
Şema [gerekli]
- Şema tanımını belirtir
- Başvuru nesnesini almak için kullanın
Get-AzBlueprint
-
OutputPath [gerekli]
- JSON dosyalarının kaydedilecek şema tanımı yolunu belirtir
- Çıkış dosyaları şema tanımının adıyla bir alt klasörde yer alır
-
Sürüm (isteğe bağlı)
- Blueprint başvuru nesnesi birden fazla sürüme başvuru içeriyorsa, çıkış sürümü belirtir.
olarak
{subId}
temsil edilen abonelikten dışarı aktarmak için şema tanımına bir başvuru alın:# 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 'MyBlueprint' -Version '1.1'
Export-AzBlueprintWithArtifact
Belirtilen şema tanımını dışarı aktarmak için cmdlet'ini kullanın:Export-AzBlueprintWithArtifact -Blueprint $bpDefinition -OutputPath 'C:\Blueprints'
Şema tanımınızı içeri aktarma
Dışarı aktarılan bir şema tanımına sahip olduktan veya gerekli klasör yapısında el ile oluşturulmuş bir şema tanımına sahip olduktan sonra, bu şema tanımını farklı bir yönetim grubuna veya aboneliğe aktarabilirsiniz.
Yerleşik şema tanımlarının örnekleri için bkz. Azure Blueprints GitHub deposu.
-
Ad [gerekli]
- Yeni şema tanımının adını belirtir
-
InputPath [gerekli]
- Şema tanımının oluşturulacağı yolu belirtir
- Gerekli klasör yapısıyla eşleşmelidir
-
ManagementGroupId (isteğe bağlı)
- Geçerli bağlam varsayılanı değilse şema tanımının kaydedildiği yönetim grubu kimliği
- ManagementGroupId veya SubscriptionId belirtilmelidir
-
SubscriptionId (isteğe bağlı)
- Şema tanımının kaydedildiği abonelik kimliği (geçerli bağlam varsayılan değilse)
- ManagementGroupId veya SubscriptionId belirtilmelidir
Import-AzBlueprintWithArtifact
Belirtilen şema tanımını içeri aktarmak için cmdlet'ini kullanın:# Login first with Connect-AzAccount if not using Cloud Shell Import-AzBlueprintWithArtifact -Name 'MyBlueprint' -ManagementGroupId 'DevMG' -InputPath 'C:\Blueprints\MyBlueprint'
Şema tanımı içeri aktarıldıktan sonra PowerShell ile atayın.
Gelişmiş şema tanımları oluşturma hakkında bilgi için aşağıdaki makalelere bakın:
- Statik ve dinamik parametreler kullanın.
- Şema sıralama sırasını özelleştirin.
- Şema kaynağı kilitleme ile dağıtımları koruyun.
- Şemaları Kod Olarak Yönetme.
Sonraki adımlar
- Şema yaşam döngüsü hakkında bilgi edinin.
- Statik ve dinamik parametrelerin kullanımını anlayın.
- Şema sıralama düzenini özelleştirmeyi öğrenin.
- Şema kaynak kilitleme özelliğini kullanmayı öğrenin.
- Genel sorun giderme adımlarıyla şema atama sorunlarını giderin.