PowerShell ile şema tanımlarını içeri ve dışarı aktarma
Azure Blueprints tam olarak yönetilen bir Azure portal. Kuruluşlar, şema tanımlarını yönetilen Azure Blueprints olarak düşünmeye başlasalar. Bu kavram genellikle Kod Olarak Altyapı (IaC) olarak adlandırılır. Şema tanımlarınızı kod olarak işlenin, bu tanımların sunduğu avantajların Azure portal sunar. Bu avantajlar:
- Şema tanımlarını paylaşma
- Şema tanımlarınızı backing up
- Şema tanımlarını farklı kiracılarda veya aboneliklerde yeniden kullanılabilir
- Şema tanımlarını kaynak denetimine yerleştirme
- Test ortamlarında şema tanımlarının otomatikleştirilmiş testi
- Sürekli tümleştirme ve sürekli dağıtım (CI/CD) işlem hatları desteği
Nedenlerinizi ne olursa olsun şema tanımlarınızı kod olarak yönetmenin avantajları vardır. Bu Import-AzBlueprintWithArtifact Export-AzBlueprintWithArtifact makalede, Az.Blueprint modülünde ve komutlarının nasıl kullanımına sahip olduğu gösterir.
Önkoşullar
Bu makalede, çalışmayla ilgili orta düzeyde bilgi sahibi Azure Blueprints. Henüz bunu yapmadıysanız aşağıdaki makalelere bakın:
- Portalda şema oluşturma
- Dağıtım aşamaları ve şema yaşam döngüsü hakkında bilgi edinebilirsiniz
- PowerShell ile şema tanımları ve atamaları oluşturma ve yönetme
Henüz yüklenmemişse Az.Blueprint modülünü yükleme ve bu modülden Az.Blueprint modülünü doğrulama yönergelerini PowerShell Galerisi.
Şema tanımının klasör yapısı
Şemaları dışarı ve içeri aktarmaya bakmadan önce şema tanımının nasıl yapılandırıldıklarına bakalım. Şema tanımı kendi klasöründe depolanmış olması gerekir.
Önemli
cmdlet'inin Name parametresine hiçbir değer geçir geçirilse Import-AzBlueprintWithArtifact şema tanımının depolandığı klasörün adı kullanılır.
olarak adlandırılmış olması gereken şema tanımıyla blueprint.json birlikte, şema tanımının içinde yer alan yapıtlar da vardır. Her yapıt adlı alt klasöre sahip olması artifacts gerekir.
Şema tanımınızı klasörlerdeki JSON dosyaları olarak bir araya getirdiyebilirsiniz:
.
|
|- 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ı aktarma, kaynak denetimine paylaşım, yedekleme veya yerleştirme için yararlı olabilir.
- Şema [gerekli]
- Şema tanımını belirtir
- Başvuru
Get-AzBlueprintnesnesini almak için kullanın
- OutputPath [gerekli]
- Şema tanımı JSON dosyalarını kaydetme yolunu belirtir
- Çıkış dosyaları şema tanımının adıyla bir alt klasör içindedir
- Sürüm (isteğe bağlı)
- Şema başvuru nesnesi birden fazla sürüme başvuru içeriyorsa, çıkış sürümünü belirtir.
olarak temsil edilen abonelikten dışarı aktarma için şema tanımına bir başvuru
{subId}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'Belirtilen şema
Export-AzBlueprintWithArtifacttanımını dışarı aktarmaya 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şturulan bir şema tanımına sahip olduktan sonra,bu şema tanımını farklı bir yönetim grubuna veya aboneliğe içeri aktarabilirsiniz.
Yerleşik şema tanımlarının örnekleri için bkz. Azure Blueprints GitHub .
- Ad [gerekli]
- Yeni şema tanımının adını belirtir
- InputPath [gerekli]
- Şema tanımının oluşturula yolunu belirtir
- Gerekli klasör yapısıyla eşleşmesi gerekir
- ManagementGroupId (isteğe bağlı)
- Geçerli bağlam varsayılanı yoksa şema tanımının kaydedkisi yönetim grubu kimliği
- ManagementGroupId veya SubscriptionId belirtilmelidir
- SubscriptionId (isteğe bağlı)
- Geçerli bağlam varsayılanı yoksa şema tanımının kaydedile abonelik kimliği
- ManagementGroupId veya SubscriptionId belirtilmelidir
Belirtilen şema
Import-AzBlueprintWithArtifacttanımını içeri aktarmaya 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çe aktarıldıktan sonra, bunu PowerShell ile attayın.
Gelişmiş şema tanımları oluşturma hakkında bilgi için aşağıdaki makalelere bakın:
- Statik ve dinamik parametreleri kullanın.
- Şema sıralama sıralama sıralamayı özelleştirin.
- Şema kaynak kilitleme ile dağıtımları koruyun.
- Blueprints'i Kod olarak yönetin.
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.