Bir önceki yazımızda, Automation Account oluşturma adımlarından bahsettik ve Assets kavramını kısa bir açıklamasını önceki yazımızda yapmıştık. Bu yazımızda Assets kavramını detaylandırmaya çalışacağız. Assets bölümü Azure Automation hesabı içerisin de en önemli kısımlardan biridir. Assets bölümünde Azure Automation Account hesabı için Integration Module ve Settings kısmı bulunmaktadır. Açıkcası bu kısma Settings demek pek hoşuma gitmiyor. Portal içerisinde bu şekilde ekleyeceğiz ama değişkenler demek bundan sonra daha doğru gibi gözüküyor.
Runbook aktivitelerinizin içerisin de kullandığınız cmdlet eğer ilgili Automation Account içerisinde yok ise Assets içerisinde Integration Module ile yükleme şansına sahipsiniz. Bu işlem bizim için oldukça basit. Assets bölümünü kullanmamızdaki diğer temel amaç eklediğimiz Settings ( Değişkenlerden) oluşmaktadır. Tüm script dillerinde olduğu gibi PowerShell içerisinde de string ya da integer tabanlı nesneler istenilen değişkenlere atanarak, scriptin devam eden bölümünde ihtiyaç olduğunda rahatlıkla kullanılabilir. Biz portal içerisinden “Add Settings” tıklayarak değişkenler oluşturarak Runbook içerisinden bu değişkenlere erişim sağlayarak Workflow’un devam eden bölümünde ihtiyaç olduğunda kullanabileceğiz.
Assets kısmında bulunan değişkenlere ve Integration Modüllere erişim noktasında önemli bir bölüm var. Tanımlamış olduğunuz değişkenleriniz veya eklediğiniz Integration Modülleriniz geliştirdiğiniz farklı Runbook aktiviteleri içerisinden tekrar erişilebilir durumdadır. Bu kısma örnek verecek olursak aşağıdaki resimden ilerleyelim.
Yukurdaki resimde üç adet “Asset 1”, “Asset 2”, “Asset 3” adında değişkenlerim bulunuyor. Bu değişkenler, sırasıyla “Integer”, “String” ve “Credential” olduğunu varsayalım. “AA” adında bir Azure Automation Account içerisinde tanımlı olarak gözükmektedir. Bununla beraber bu Automation Account içerisinde iki adet Runbook aktivitem var. Bunlar “A” ve “B” adında gözükmektedir. Bu Runbook aktivitelerinde yazılan Powershell Workflow içerisinde tanımlamış olduğumuz Settings(Değişkenler) “Get-AutomationVariable –Name değişkenadı” şeklinde çağrılır ve geliştireceğiniz Runbook içerisinden erişebilirsiniz.
Azure Portal içerisinden, “Add Settings” tıklanarak herhangi yeni bir değişken oluşturmak istediğiniz zaman, karşımıza gelen değişken tiplerini tanıyalım.
- Credential Asset : Bu değişkeni eklemek istediğiniz zaman karşınıza iki farklı tip ile geliyor olacak. Bunlar “Certificate ve Powershell Credential” şeklinde gözükecektir. Oluşturulacak olan Credential değikenine isim verdikten sonra, Assets bölümünde gözükecetir. Bu değikenler şifrelenir ve her otomasyon hesabı için oluşturulan benzersiz bir anahtar kullanarak Azure Automation hesabı içinde saklanır. Bu anahtar bir ana sertifika tarafından şifrelenir.
- Connection Asset : Automation hesabınızda oluşturduğunuz Runbook aktiviteleriniz üzerinden herhangi bir harici hizmete veya uygulamaya bağlanmak için gereken bağlantı bilgileri için tanımlanır.
- Variable Asset : Runbook aktivitelerini geliştirirken en çok işimiz olacağı yer. Powershell içerisinde tanımladığımız “String”,”Integer”,”Boolen”,”DateTime” tipinde nesneler tanımlanarak değişken haline gelir ve Runbook aktiviteleri içerisinden çağırılır.
- Schedule : Geliştirdiğimiz Runbook aktivitelerini Schedule bir şekilde çalışmasını sağlamak için oluşturduğumuz değişken yöntemidir.
Assets oluşturmanın birçok yöntemi var. İsterseniz, Azure Portal, Preview Portal ve Azure Powershell ile yaratma şansına sahipsiniz.
Azure Portal içerisinden bir “String” tipinde Variable Asset oluşturalım. Automation Account içerisine girdikten sonra, “Add Settings” tıklanır ve karşınıza yukarıda bahsetmiş olduğumuz Asset tipleri gelmektedir. Bu kısımda “Add Variable” seçilir.
Add Variable seçip ilerledikten sonra, karşımıza değişken tipleri gelecektir. Bu ekranda ben “String” tipinde oluşturacağımı söyleyeceğim ve içerisine bir değer gireceğim.
Variable Type olarak String seçildi ve değişkenimizin adı “MyNewVariable” olarak belirledik bir sonraki ekrana geçerek değişkenimize değer ataması gerçekleştireceğiz.
Yeni bir String tipinde Varriable Asset tanımlamış durumdayız. Artık Automation Account içerisindeki tüm Runbook aktiviteleri üzerinden erişilebilir durumdadır. Tanımladığımız değişkeni Runbook içerisinde yazdığımız Powershell Workflow içerisinden çağırmak için aşağıdaki örnek bizlere yol gösterecektir. Yukarıdaki ekran içerisinde bir yere daha dikkatinizi çekmek istiyorum, “Encrypted” kapalı olarak gelmiş durumdadır. Eğer bu özelliği aktif ederseniz, tanımladığınız değişkenleriniz Automation hesabınız içerisinde Encrypted bir şekilde saklanacaktır.
Get-AutomationVariable cmdlet’ini Runbook içerisinde kullanarak tanımladığım Asset adını gönderek değişkenin içerisindeki değere Runbook içerisinden artık erişebilir durumdayım. İsterseniz, Azure Powershell Module ile yeni bir değişken yaratabilirsiniz.
Son olarak ise Azure Preview Portal üzerinden nasıl yeni bir Asset oluşturacağından bahsedeceğim. Preview Portal üzerinde oturum açıktan sonra, ilgili Automation Account içerisinde Assets bölümünde karşımıza Admin Friendly diyebileceğimiz bir arayüz gelmektedir. Bu ekran içerisinden toplam Assets sayısı görebilir veya yeni değişkenler ekleyebilirsiniz.