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:

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-AzBlueprintWithArtifactName 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.jsongereken şema tanımıyla birlikte, şema tanımının oluşturulduğu yapıtlardır. Her yapıt adlı artifactsalt 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.
  1. 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'
    
  2. 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]
  • 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
  1. 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:

Sonraki adımlar