PowerShell ile şema tanımlarını içeri ve dışarı aktarma

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:

Azure Blueprints, Azure portal üzerinden 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ın sunduğu avantajların ötesinde ek avantajlar sunar. Bu avantajlar şunlardır:

  • Şema tanımlarını paylaşma
  • Şema tanımlarınızı yedekleme
  • Farklı kiracılarda veya aboneliklerde blueprint tanımlarını yeniden kullanma
  • Ş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ının desteği

Nedenleriniz ne olursa olsun, şema tanımlarınızı kod olarak yönetmenin avantajları vardır. Bu makale, Az.Blueprint modülündeki Import-AzBlueprintWithArtifact ve Export-AzBlueprintWithArtifact komutlarının nasıl kullanılacağını gösterir.

Prerequisites

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ü ekleme bölümündeki yönergeleri izleyerek PowerShell Galerisi'nden Az.Blueprint modülünü yükleyin ve doğrulayın.

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

Important

Cmdlet'in Import-AzBlueprintWithArtifact parametresine hiçbir değer geçirilmemişse şema tanımının depolandığı klasörün adı kullanılır.

blueprint.json olarak adlandırılması gereken şema tanımıyla birlikte, şema tanımını oluşturan artefaktlar da bulunur. Her yapıtın adlı artifactsalt klasörde olması gerekir. Ş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
    • Referans nesnesini almak için Get-AzBlueprint kullanın
  • OutputPath [gerekli]
    • Şema tanımı JSON dosyalarının kaydedileceği yolu 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ı örnekleri için Azure Blueprints GitHub deposuna bakın.

  • Ad [gerekli]
    • Yeni şema tanımının adını belirtir
  • InputPath [gerekli]
  • ManagementGroupId (isteğe bağlı)
    • Geçerli bağlamın varsayılanı değilse, şema tanımının kaydedileceği yönetim grubu kimliği
    • ManagementGroupId veya SubscriptionId belirtilmelidir
  • SubscriptionId (isteğe bağlı)
    • Mevcut bağlamın varsayılanı değilse, şema tanımının kaydedileceği abonelik kimliği
    • 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