Azure Otomasyonu grafik runbook'ları yazma
Önemli
Azure Otomasyonu Klasik Farklı Çalıştır hesapları da dahil olmak üzere Farklı çalıştır hesapları 30 Eylül 2023'te kullanımdan kaldırıldı ve yerine Yönetilen Kimlikler kullanıldı. Artık Azure portalı üzerinden Farklı çalıştır hesapları oluşturamaz veya yenileyemezsiniz. Daha fazla bilgi için bkz. Mevcut Farklı Çalıştır hesaplarından yönetilen kimliğe geçiş.
Azure Otomasyonu içindeki tüm runbook'lar Windows PowerShell iş akışlarıdır. Grafik runbook'lar ve grafik PowerShell İş Akışı runbook'ları, Otomasyon çalışanlarının çalıştıracağı ancak görüntüleyemeyeceğiniz veya değiştiremeyeceğiniz PowerShell kodu oluşturur. Grafik runbook'u grafik PowerShell İş Akışı runbook'una dönüştürebilirsiniz ve tam tersi de geçerlidir. Ancak, bu runbook'ları metinsel runbook'a dönüştüremezsiniz. Buna ek olarak, Otomasyon grafik düzenleyicisi bir metin runbook'unu içeri aktaramaz.
Grafik yazma, temel alınan Windows PowerShell veya PowerShell İş Akışı kodunun karmaşıklığı olmadan Azure Otomasyonu için runbook'lar oluşturmanıza olanak tanır. Bir cmdlet ve runbook kitaplığından tuvale etkinlik ekleyebilir, bunları birbirine bağlayabilir ve iş akışı oluşturacak şekilde yapılandırabilirsiniz. System Center Orchestrator veya Service Management Automation (SMA) ile çalıştıysanız, grafik yazma tanıdık görünmelidir. Bu makale, grafik runbook oluşturmaya başlamak için ihtiyacınız olan kavramlara giriş niteliğindedir.
Dekont
Grafik runbook'a dijital imza ekleyemezsiniz. Bu özellik Azure Otomasyonu desteklenmez.
Grafik düzenleyiciye genel bakış
Grafik bir runbook oluşturarak veya düzenleyerek grafik düzenleyiciyi Azure portalında açabilirsiniz.
Aşağıdaki bölümlerde grafik düzenleyicideki denetimler açıklanmaktadır.
Tuval denetimi
Tuval denetimi runbook'unuzu tasarlamanızı sağlar. Kitaplık denetimindeki düğümlerden runbook'a etkinlik ekleyebilir ve runbook mantığını tanımlamak için bunları bağlantılarla bağlayabilirsiniz. Tuvalin alt kısmında yakınlaştırmanıza ve uzaklaştırmanıza olanak sağlayan denetimler vardır.
Kitaplık denetimi
Kitaplık denetimi runbook'unuza eklenecek etkinlikleri seçmenize olanak tanır. Bunları tuvale eklersiniz; burada diğer etkinliklere bağlayabilirsiniz. Kitaplık denetimi aşağıdaki tabloda tanımlanan bölümleri içerir.
Bölüm | Tanım |
---|---|
Cmdlet'ler | Runbook'unuzda kullanılabilecek tüm cmdlet'ler. Cmdlet'ler modüle göre düzenlenir. Otomasyon hesabınıza yüklediğiniz tüm modüller kullanılabilir. |
Runbook'lar | Otomasyon hesabınızdaki runbook'lar. Bu runbook'ları alt runbook olarak kullanılacak tuvale ekleyebilirsiniz. Yalnızca düzenlenmekte olan runbook ile aynı çekirdek türündeki runbook'lar gösterilir. Grafik runbook'lar için yalnızca PowerShell tabanlı runbook'lar gösterilir. Grafik PowerShell İş Akışı runbook'ları için yalnızca PowerShell İş Akışı tabanlı runbook'lar gösterilir. |
Varlıklar | Otomasyon hesabınızdaki runbook'unuzda kullanabileceğiniz otomasyon varlıkları. Runbook'a varlık eklemek, seçili varlığı alan bir iş akışı etkinliği ekler. Değişken varlıkları söz konusu olduğunda, değişkeni almak için etkinlik eklemeyi veya değişkeni ayarlamayı seçebilirsiniz. |
Runbook Denetimi | Geçerli runbook'unuzda kullanılabilecek etkinlikleri denetleme. Birleşim etkinliği birden çok giriş alır ve iş akışına devam etmeden önce tümü tamamlanana kadar bekler. Kod etkinliği, grafik runbook türüne bağlı olarak bir veya daha fazla PowerShell satırı veya PowerShell İş Akışı kodu çalıştırır. Bu etkinliği özel kod veya diğer etkinliklerle elde etmek zor olan işlevler için kullanabilirsiniz. |
Yapılandırma denetimi
Yapılandırma denetimi, tuvalde seçilen bir nesnenin ayrıntılarını sağlamanıza olanak tanır. Bu denetimde kullanılabilen özellikler, seçilen nesnenin türüne bağlıdır. Yapılandırma denetiminde bir seçenek belirlediğinizde, daha fazla bilgi sağlamak için ek dikey pencere açılır.
Test denetimi
Grafik düzenleyici ilk kez başlatıldığında Test denetimi görüntülenmez. Grafik runbook'u etkileşimli olarak test ettiğinizde açılır.
Etkinlikleri kullanma
Etkinlikler runbook'un yapı taşlarıdır. Etkinlik bir PowerShell cmdlet'i, alt runbook veya iş akışı olabilir. Kitaplık denetiminde bir etkinliğe sağ tıklayıp Tuvale ekle'yi seçerek runbook'a etkinlik ekleyebilirsiniz. Ardından etkinliği tıklayıp sürükleyerek tuvalin istediğiniz herhangi bir yerine yerleştirebilirsiniz. Etkinliğin tuvaldeki konumu runbook'un çalışmasını etkilemez. Runbook'unuzu, çalışmasını görselleştirmek için en uygun bulduğunuz şekilde düzenleyebilirsiniz.
Yapılandırma dikey penceresinde tuvalde bir etkinlik seçerek özelliklerini ve parametrelerini yapılandırın. Etkinliğin etiketini açıklayıcı bulduğunuz bir adla değiştirebilirsiniz. Runbook hala özgün cmdlet'ini çalıştırır. Grafik düzenleyicinin kullandığı görünen adı değiştirmeniz yeterlidir. Etiketin runbook içinde benzersiz olması gerektiğini unutmayın.
Parametre kümeleri
Parametre kümesi, belirli bir cmdlet için değerleri kabul eden zorunlu ve isteğe bağlı parametreleri tanımlar. Tüm cmdlet'lerde en az bir parametre kümesi ve bazılarında birkaç küme vardır. Bir cmdlet'in birden çok parametre kümesi varsa, parametreleri yapılandırabilmek için önce kullanılacak olanı seçmeniz gerekir. Parametre Kümesi'ni seçip başka bir küme seçerek bir etkinlik tarafından kullanılan parametre kümesini değiştirebilirsiniz. Bu durumda, önceden yapılandırdığınız tüm parametre değerleri kaybolur.
Aşağıdaki örnekte Get-AzVM cmdlet'i üç parametre kümesine sahiptir. Örnekte listelenecek sanal makinelerin konumunu döndürmek için ListLocationVirtualMachinesParamSet adlı tek bir isteğe bağlı parametre kullanılır. Örnek, döndürülecek sanal makineyi belirtmek için GetVirtualMachineInResourceGroupParamSet parametre kümesini de kullanır. Bu kümenin iki zorunlu parametresi ve bir isteğe bağlı parametresi vardır.
Parametre değerleri
Parametre için bir değer belirttiğinizde, değerin nasıl belirtildiğini belirlemek için bir veri kaynağı seçersiniz. Belirli bir parametre için kullanılabilen veri kaynakları, bu parametrenin geçerli değerlerine bağlıdır. Örneğin Null, null değerlere izin vermeyen bir parametre için kullanılabilir bir seçenek değildir.
Veri Kaynağı | Tanım |
---|---|
Sabit Değer | parametresi için bir değer yazın. Bu veri kaynağı yalnızca şu veri türleri için kullanılabilir: Int32, Int64, String, Boolean, DateTime, Switch. |
Etkinlik Çıkışı | İş akışındaki geçerli etkinlikten önce gelen bir etkinliğin çıkışını kullanın. Tüm geçerli etkinlikler listelenir. Parametre değeri için yalnızca çıkışı üreten etkinliği kullanın. Etkinlik birden çok özelliğe sahip bir nesnenin çıkışını verirse, etkinliği seçtikten sonra belirli bir özelliğin adını yazabilirsiniz. |
Runbook Girişi | Etkinlik parametresi için giriş olarak bir runbook girişi seçin. |
Değişken Varlık | Giriş olarak bir Otomasyon değişkeni seçin. |
Kimlik Bilgisi Varlığı | Giriş olarak bir Otomasyon kimlik bilgisi seçin. |
Sertifika Varlığı | Giriş olarak bir Otomasyon sertifikası seçin. |
Bağlan ion Varlığı | Giriş olarak bir Otomasyon bağlantısı seçin. |
PowerShell İfadesi | Basit bir PowerShell ifadesi belirtin. İfade etkinlik öncesinde değerlendirilir ve sonuç parametre değeri için kullanılır. Bir etkinliğin veya runbook giriş parametresinin çıkışına başvurmak için değişkenleri kullanabilirsiniz. |
Yapılandırılmadı | Daha önce yapılandırılmış olan tüm değerleri temizleyin. |
İsteğe bağlı ek parametreler
Tüm cmdlet'ler ek parametreler sağlama seçeneğine sahiptir. Bunlar PowerShell ortak parametreleri veya diğer özel parametrelerdir. Grafik düzenleyici, PowerShell söz dizimini kullanarak parametreler sağlayabileceğiniz bir metin kutusu sunar. Örneğin, ortak parametresini Verbose
kullanmak için belirtmelisiniz -Verbose:$True
.
Yeniden deneme etkinliği
Bir etkinliğin yeniden deneme işlevi, döngü gibi belirli bir koşul karşılanıncaya kadar birden çok kez çalıştırılmasını sağlar. Bu özelliği, birden çok kez çalışması gereken, hataya açık, başarı için birden fazla deneme gerekebilecek veya etkinliğin çıkış bilgilerini geçerli veriler için test eden etkinlikler için kullanabilirsiniz.
Bir etkinlik için yeniden denemeyi etkinleştirdiğinizde, bir gecikme ve koşul ayarlayabilirsiniz. Gecikme, runbook'un etkinliği yeniden çalıştırmadan önce beklediği süredir (saniye veya dakika cinsinden ölçülür). Gecikme belirtmezseniz etkinlik tamamlandıktan hemen sonra yeniden çalışır.
Yeniden deneme koşulu, etkinlik her çalıştırıldıktan sonra değerlendirilen bir PowerShell ifadesidir. İfade True olarak çözümlanırsa etkinlik yeniden çalışır. İfade False olarak çözümlanırsa, etkinlik yeniden çalışmaz ve runbook sonraki etkinliğe geçer.
Yeniden deneme koşulu, etkinlik yeniden denemeleri hakkındaki bilgilere erişim sağlayan adlı RetryData
bir değişken kullanabilir. Bu değişken aşağıdaki tabloda yer alan özelliklere sahiptir:
Özellik | Tanım |
---|---|
NumberOfAttempts |
Etkinliğin kaç kez çalıştırıldığı. |
Output |
Etkinliğin son çalıştırmasından çıktı. |
TotalDuration |
Etkinlik ilk kez başlatıldığından bu yana zaman geçti. |
StartedAt |
Etkinliğin ilk başlatıldığı saat (UTC biçiminde). |
Aşağıda etkinlik yeniden deneme koşullarına örnekler verilmiştir.
# Run the activity exactly 10 times.
$RetryData.NumberOfAttempts -ge 10
# Run the activity repeatedly until it produces any output.
$RetryData.Output.Count -ge 1
# Run the activity repeatedly until 2 minutes has elapsed.
$RetryData.TotalDuration.TotalMinutes -ge 2
Bir etkinlik için yeniden deneme koşulu yapılandırdıktan sonra, etkinlik size anımsatacak iki görsel ipucu içerir. Biri etkinlikte, diğeri ise etkinliğin yapılandırmasını gözden geçirdiğinizde gösterilir.
İş Akışı Betiği denetimi
İş akışı Betik denetimi, yazılan grafik runbook'un türüne bağlı olarak PowerShell veya PowerShell İş Akışı betiğini kabul eden özel bir etkinliktir. Bu denetim, başka yollarla kullanılamayabilecek işlevler sağlar. Parametreleri kabul edemez, ancak etkinlik çıkışı ve runbook giriş parametreleri için değişkenleri kullanabilir. Etkinliğin tüm çıkışları databus'a eklenir. Giden bağlantısı olmayan bir çıkış özel durumdur ve bu durumda çıkış runbook'un çıkışına eklenir.
Örneğin, aşağıdaki kod adlı NumberOfDays
runbook giriş değişkenini kullanarak tarih hesaplamaları yapar. Ardından runbook'taki sonraki etkinlikler tarafından kullanılacak çıkış olarak hesaplanan bir DateTime değeri gönderir.
$DateTimeNow = (Get-Date).ToUniversalTime()
$DateTimeStart = ($DateTimeNow).AddDays(-$NumberOfDays)}
$DateTimeStart
İş akışı için bağlantıları kullanma
Grafik runbook'taki bir bağlantı iki etkinliği birbirine bağlar. Tuvalde kaynak etkinlikten hedef etkinliğe işaret eden bir ok olarak görüntülenir. Etkinlikler, kaynak etkinlik tamamlandıktan sonra başlayan hedef etkinlikle ok yönünde çalışır.
Bağlantı oluştur
Kaynak etkinliği seçip şeklin altındaki daireye tıklayarak iki etkinlik arasında bağlantı oluşturabilirsiniz. Oku hedef etkinliğe ve yayına sürükleyin.
Yapılandırma dikey penceresinde özelliklerini yapılandırmak için bağlantıyı seçin. Özellikler, aşağıdaki tabloda açıklanan bağlantı türünü içerir.
Bağlantı Türü | Tanım |
---|---|
İşlem Hattı | Hedef etkinlik, kaynak etkinlikten alınan her nesne çıkışı için bir kez çalışır. Kaynak etkinlik hiçbir çıkışla sonuçlanırsa hedef etkinlik çalışmaz. Kaynak etkinliğin çıkışı bir nesne olarak kullanılabilir. |
Sequence | Hedef etkinlik, kaynak etkinlikten çıktı aldığında yalnızca bir kez çalışır. Kaynak etkinliğin çıkışı bir nesne dizisi olarak kullanılabilir. |
Runbook etkinliğini başlatma
Grafik runbook, gelen bağlantısı olmayan etkinliklerle başlar. Genellikle runbook için başlangıç etkinliği işlevi gören tek bir etkinlik vardır. Birden çok etkinliğin gelen bağlantısı yoksa runbook bunları paralel olarak çalıştırarak başlar. Her tamamlandıktan sonra diğer etkinlikleri çalıştırmak için bağlantıları izler.
Bağlantı koşullarını belirtme
Bağlantıda bir koşul belirttiğinizde, hedef etkinlik yalnızca koşul True olarak çözümlendiğinde çalışır. Genellikle kaynak ActivityOutput
etkinlikten çıkışı almak için bir koşulda değişken kullanırsınız.
İşlem hattı bağlantısı için tek bir nesne için bir koşul belirtmeniz gerekir. Runbook, her nesne çıkışının koşulunu kaynak etkinliğine göre değerlendirir. Ardından, koşulu karşılayan her nesne için hedef etkinliği çalıştırır. Örneğin, kaynak etkinliğiyle Get-AzVM
, yalnızca Group1 adlı kaynak grubundaki sanal makineleri almak üzere koşullu işlem hattı bağlantısı için aşağıdaki söz dizimini kullanabilirsiniz.
$ActivityOutput['Get Azure VMs'].Name -match "Group1"
Bir dizi bağlantısı için runbook koşulu yalnızca bir kez değerlendirir, çünkü kaynak etkinlikten tüm nesneleri içeren tek bir dizi döndürülür. Bu nedenle runbook, işlem hattı bağlantısıyla olduğu gibi filtreleme için bir dizi bağlantısı kullanamaz. Sıra bağlantısı, sonraki etkinliğin çalıştırılıp çalıştırılmayacağını belirleyebilir.
Örneğin, Başlangıç VM runbook'umuzda aşağıdaki etkinlik kümesini alın:
Runbook, giriş parametrelerinin VMName
değerlerini doğrulayan ve ResourceGroupName
gerçekleştirecek uygun eylemi belirlemek için üç farklı sıra bağlantısı kullanır. Olası eylemler tek bir VM başlatmak, kaynak grubundaki tüm VM'leri başlatmak veya abonelikteki tüm VM'leri başlatmaktır. ile Get single VM
arasındaki Connect to Azure
sıralı bağlantı için koşul mantığı aşağıda verilmiştir:
<#
Both VMName and ResourceGroupName runbook input parameters have values
#>
(
(($VMName -ne $null) -and ($VMName.Length -gt 0))
) -and (
(($ResourceGroupName -ne $null) -and ($ResourceGroupName.Length -gt 0))
)
Koşullu bağlantı kullandığınızda, kaynak etkinlikten bu daldaki diğer etkinliklere sağlanan veriler koşula göre filtrelenir. Bir etkinlik birden çok bağlantının kaynağıysa, her daldaki etkinlikler için kullanılabilen veriler, söz konusu dala bağlanan bağlantıdaki koşula bağlıdır.
Örneğin, Start-AzVM
aşağıdaki runbook'taki etkinlik tüm sanal makineleri başlatır. İki koşullu bağlantısı vardır. İlk koşullu bağlantı, etkinlik başarıyla tamamlanırsa Start-AzVM
filtrelemek için ifadesini $ActivityOutput['Start-AzVM'].IsSuccessStatusCode -eq $true
kullanır. İkinci koşullu bağlantı, etkinliğin sanal makineyi başlatamaması durumunda Start-AzVm
filtrelemek için ifadesini $ActivityOutput['Start-AzVM'].IsSuccessStatusCode -ne $true
kullanır.
İlk bağlantıyı izleyen ve 'den Get-AzureVM
etkinlik çıkışını kullanan tüm etkinlikler yalnızca çalıştırıldığı Get-AzureVM
sırada başlatılan sanal makineleri alır. İkinci bağlantıyı izleyen tüm etkinlikler yalnızca çalıştırıldığı Get-AzureVM
sırada durdurulan sanal makineleri alır. Üçüncü bağlantıyı izleyen tüm etkinlikler, çalışma durumlarından bağımsız olarak tüm sanal makineleri alır.
Birleşimleri kullanma
Birleşim, tüm gelen dallar tamamlanana kadar bekleyen özel bir etkinliktir. Bu, runbook'un birden çok etkinliği paralel olarak çalıştırmasına ve devam etmeden önce tümünün tamamlandığından emin olmasını sağlar.
Bir birleşim sınırsız sayıda gelen bağlantıya sahip olsa da, bu bağlantılardan yalnızca biri işlem hattı olabilir. Gelen sıra bağlantılarının sayısı kısıtlanmaz. Birden çok gelen işlem hattı bağlantısıyla birleşim oluşturabilir ve runbook'u kaydedebilirsiniz, ancak çalıştırıldığında başarısız olur.
Aşağıdaki örnek, bu makinelere uygulanacak düzeltme eklerini aynı anda indirirken bir dizi sanal makine başlatan bir runbook'un parçasıdır. Runbook devam etmeden önce her iki işlemin de tamamlandığından emin olmak için bir birleşim kullanır.
Döngülerle çalışma
Bir hedef etkinlik, kaynak etkinliğine veya sonunda kaynağına geri bağlanan başka bir etkinliğe bağlandığında bir döngü oluşturulur. Grafik yazma şu anda döngüleri desteklememektedir. Runbook'unuzun bir döngüsü varsa düzgün bir şekilde kaydedilir ancak çalıştığında bir hata alır.
Etkinlikler arasında veri paylaşma
Bir etkinliğin giden bağlantıyla çıkış yaptığı tüm veriler runbook için databus'a yazılır. Runbook'taki herhangi bir etkinlik, parametre değerlerini doldurmak veya betik koduna eklemek için databus üzerindeki verileri kullanabilir. Bir etkinlik, iş akışındaki önceki tüm etkinliklerin çıkışına erişebilir.
Verilerin databus'a nasıl yazılacakları, etkinlik üzerindeki bağlantı türüne bağlıdır. İşlem hattı bağlantısı için veriler birden çok nesne olarak çıkışlanır. Bir dizi bağlantısı için veriler bir dizi olarak çıkıştır. Yalnızca bir değer varsa, tek öğeli bir dizi olarak çıkıştır.
Runbook'unuzun databus üzerindeki verilere erişmenin iki yolu vardır:
- Etkinlik çıktısı veri kaynağı kullanın.
- PowerShell ifadesi veri kaynağı kullanın.
İlk mekanizma, başka bir etkinliğin parametresini doldurmak için etkinlik çıktısı veri kaynağını kullanır. Çıkış bir nesneyse runbook tek bir özellik belirtebilir.
İkinci veri erişim mekanizması, aşağıda gösterilen söz dizimini kullanarak PowerShell ifade veri kaynağındaki bir etkinliğin veya değişken içeren bir ActivityOutput
iş akışı betiği etkinliğinin çıkışını alır. Çıkış bir nesneyse runbook'unuz tek bir özellik belirtebilir.
$ActivityOutput['Activity Label']
$ActivityOutput['Activity Label'].PropertyName
Denetim noktalarını kullanma
Herhangi bir etkinlikte Checkpoint runbook'u seçerek bir grafik PowerShell İş Akışı runbook'unda denetim noktaları ayarlayabilirsiniz. Bu, etkinlik çalıştırıldıktan sonra bir denetim noktasının ayarlanmasına neden olur.
Denetim noktaları yalnızca grafik PowerShell İş Akışı runbook'larında etkinleştirilir ve grafik runbook'larda kullanılamaz. Runbook Azure cmdlet'lerini kullanıyorsa, bir Connect-AzAccount
etkinlik içeren denetim noktası uygulanmış etkinlikleri izlemelidir. Runbook'un askıya alınması ve farklı bir çalışanda bu denetim noktasından yeniden başlatılması gerektiğinde bağlanma işlemi kullanılır.
Runbook girişini işleme
Bir runbook, runbook'u Azure portalı üzerinden başlatan bir kullanıcıdan veya geçerli olan alt öğe olarak kullanılıyorsa başka bir runbook'tan giriş gerektirir. Örneğin, sanal makine oluşturan bir runbook için, kullanıcının runbook her başlatıldığında sanal makinenin adı ve diğer özellikler gibi bilgileri sağlaması gerekebilir.
Runbook, bir veya daha fazla giriş parametresi tanımlayarak girişi kabul eder. Kullanıcı, runbook her başlatıldığında bu parametreler için değerler sağlar. Kullanıcı Azure portalını kullanarak runbook'u başlattığında, kullanıcıdan runbook tarafından desteklenen her giriş parametresi için değer sağlaması istenir.
Runbook'unuzu yazarken, runbook araç çubuğunda Giriş ve çıkış'a tıklayarak giriş parametrelerine erişebilirsiniz. Bu, giriş ekle'ye tıklayarak var olan bir giriş parametresini düzenleyebileceğiniz veya yeni bir parametre oluşturabileceğiniz Giriş ve Çıkış denetimini açar.
Her giriş parametresi aşağıdaki tablodaki özellikler tarafından tanımlanır:
Özellik | Açıklama |
---|---|
Kuruluş adı | Gerekli. Parametrenin adı. Adın runbook içinde benzersiz olması gerekir. Bir harfle başlamalıdır ve yalnızca harf, sayı ve alt çizgi içerebilir. Ad boşluk içeremez. |
Tanım | isteğe bağlı. Giriş parametresinin amacının açıklaması. |
Tür | isteğe bağlı. Parametre değeri için veri türü bekleniyor. Azure portalı, giriş istenirken her parametre için veri türü için uygun bir denetim sağlar. Desteklenen parametre türleri String, Int32, Int64, Decimal, Boole, DateTime ve Object'tir. Bir veri türü seçilmezse, varsayılan olarak Dize olur. |
Zorunlu | isteğe bağlı. parametresi için bir değer sağlanması gerekip gerekmediğini belirten ayar. öğesini seçerseniz yes runbook başlatıldığında bir değer sağlanmalıdır. öğesini seçerseniz no , runbook başlatıldığında bir değer gerekmez ve varsayılan değer kullanılabilir. Varsayılan değeri tanımlı olmayan her zorunlu parametre için bir değer sağlamazsanız runbook başlatılamaz. |
Varsayılan Değer | isteğe bağlı. Runbook başlatıldığında geçirilmediğinde parametre için kullanılan değer. Varsayılan bir değer ayarlamak için öğesini seçin Custom . Herhangi bir varsayılan değer sağlamak istemiyorsanız seçin None . |
Runbook çıkışını işleme
Grafik yazma, runbook'un çıkışına giden bağlantısı olmayan herhangi bir etkinlik tarafından oluşturulan verileri kaydeder. Çıktı runbook işiyle birlikte kaydedilir ve runbook alt öğe olarak kullanıldığında üst runbook tarafından kullanılabilir.
PowerShell ifadeleriyle çalışma
Grafik yazmanın avantajlarından biri, PowerShell hakkında en az bilgiye sahip bir runbook oluşturmanıza olanak sağlamasıdır. Ancak şu anda, belirli parametre değerlerini doldurma ve bağlantı koşullarını ayarlama konusunda biraz PowerShell bilmeniz gerekir. Bu bölüm, PowerShell ifadelerine hızlı bir giriş sağlar. PowerShell'in tüm ayrıntılarını Windows PowerShell ile betik oluşturma bölümünde bulabilirsiniz.
PowerShell ifadesini veri kaynağı olarak kullanma
Bir etkinlik parametresinin değerini PowerShell kodunun sonuçlarıyla doldurmak için veri kaynağı olarak Bir PowerShell ifadesi kullanabilirsiniz. İfade, basit bir işlev gerçekleştiren tek bir kod satırı veya bazı karmaşık mantıklar gerçekleştiren birden çok satır olabilir. Bir değişkene atanmamış bir komuttan elde edilen tüm çıkışlar parametre değerine çıkar.
Örneğin, aşağıdaki komut geçerli tarihin çıkışını oluşturur.
Get-Date
Sonraki kod parçacığı geçerli tarihten bir dize oluşturur ve bunu bir değişkene atar. Kod, değişkenin içeriğini çıkışa gönderir.
$string = "The current date is " + (Get-Date)
$string
Aşağıdaki komutlar geçerli tarihi değerlendirir ve geçerli günün hafta sonu mu yoksa haftanın günü mü olduğunu belirten bir dize döndürür.
$date = Get-Date
if (($date.DayOfWeek = "Saturday") -or ($date.DayOfWeek = "Sunday")) { "Weekend" }
else { "Weekday" }
Etkinlik çıkışını kullanma
Runbook'unuzda önceki bir etkinliğin çıktısını kullanmak için aşağıdaki söz dizimiyle değişkenini ActivityOutput
kullanın.
$ActivityOutput['Activity Label'].PropertyName
Örneğin, bir sanal makinenin adını gerektiren bir özelliğe sahip bir etkinliğiniz olabilir. Bu durumda runbook'unuz aşağıdaki ifadeyi kullanabilir.
$ActivityOutput['Get-AzureVM'].Name
Özelliği yalnızca bir ad yerine sanal makine nesnesi gerektiriyorsa, runbook aşağıdaki söz dizimini kullanarak nesnenin tamamını döndürür.
$ActivityOutput['Get-AzureVM']
Runbook, bir etkinliğin çıkışını aşağıdaki gibi daha karmaşık bir ifadede kullanabilir. Bu ifade, metni sanal makine adıyla birleştirir.
"The computer name is " + $ActivityOutput['Get-AzureVM'].Name
Değerleri karşılaştırma
Değerleri karşılaştırmak veya bir değerin belirtilen desenle eşleşip eşleşmediğini belirlemek için karşılaştırma işleçlerini kullanın. Karşılaştırma, True veya False değerini döndürür.
Örneğin, aşağıdaki koşul adlı Get-AzureVM
bir etkinlikten sanal makinenin şu anda durdurulup durdurulmadığını belirler.
$ActivityOutput["Get-AzureVM"].PowerState -eq "Stopped"
Aşağıdaki koşul, aynı sanal makinenin durduruldu dışında bir durumda olup olmadığını belirler.
$ActivityOutput["Get-AzureVM"].PowerState -ne "Stopped"
veya -or
gibi -and
bir mantıksal işleç kullanarak runbook'unuzda birden çok koşulu birleştirebilirsiniz. Örneğin, aşağıdaki koşul önceki örnekteki sanal makinenin Durduruldu veya Durduruluyor durumunda olup olmadığını denetler.
($ActivityOutput["Get-AzureVM"].PowerState -eq "Stopped") -or ($ActivityOutput["Get-AzureVM"].PowerState -eq "Stopping")
Karma tablo kullanma
Karma tablo, bir değer kümesi döndürmek için yararlı olan ad-değer çiftleridir. Sözlük olarak adlandırılan bir karma tablo da görebilirsiniz. Belirli etkinliklerin özellikleri basit bir değer yerine bir karma tablo bekler.
Aşağıdaki söz dizimini kullanarak bir karma tablo oluşturun. Herhangi bir sayıda girdi içerebilir, ancak her biri bir ad ve değerle tanımlanır.
@{ <name> = <value>; [<name> = <value> ] ...}
Örneğin, aşağıdaki ifade, internet araması için bir değer karma tablosu bekleyen bir etkinlik parametresi için veri kaynağı olarak kullanılacak bir karma tablo oluşturur.
$query = "Azure Automation"
$count = 10
$h = @{'q'=$query; 'lr'='lang_ja'; 'count'=$Count}
$h
Aşağıdaki örnek, bir karma tablo doldurmak için adlı Get Twitter Connection
bir etkinliğin çıkışını kullanır.
@{'ApiKey'=$ActivityOutput['Get Twitter Connection'].ConsumerAPIKey;
'ApiSecret'=$ActivityOutput['Get Twitter Connection'].ConsumerAPISecret;
'AccessToken'=$ActivityOutput['Get Twitter Connection'].AccessToken;
'AccessTokenSecret'=$ActivityOutput['Get Twitter Connection'].AccessTokenSecret}
Azure kaynaklarda kimlik doğrulaması
azure kaynaklarını yöneten Azure Otomasyonu runbook'ları Azure'da kimlik doğrulaması gerektirir. Yönetilen Kimlikler , Otomasyon runbook'unun aboneliğinizdeki Azure Resource Manager kaynaklarına erişmek için kullandığı varsayılan mekanizmadır. Aşağıdaki runbook'u otomasyon hesabına aktararak bu işlevi bir grafik runbook'a ekleyebilirsiniz. Bu özellik, Azure kaynaklarının kimliğini doğrulamak ve bunlara erişmek için otomasyon hesabının sistem tarafından atanan Yönetilen Kimliğinden yararlanıyor.
wget https://raw.githubusercontent.com/azureautomation/runbooks/master/Utility/AzMI/AzureAutomationTutorialWithIdentityGraphical.graphrunbook -outfile AzureAutomationTutorialWithIdentityGraphical.graphrunbook
Grafik runbook'u dışarı aktarma
Yalnızca grafik runbook'un yayımlanmış sürümünü dışarı aktarabilirsiniz. Runbook henüz yayımlanmadıysa Dışarı Aktar düğmesi devre dışı bırakılır. Dışarı Aktar düğmesine tıkladığınızda runbook yerel bilgisayarınıza indirilir. Dosyanın adı runbook'un adıyla bir .graphrunbook uzantısıyla eşleşir.
Grafik runbook'u içeri aktarma
Runbook eklerken İçeri Aktar seçeneğini belirleyerek grafik veya grafik powershell iş akışı runbook dosyasını içeri aktarabilirsiniz. İçeri aktaracak dosyayı seçtiğinizde, aynı adı koruyabilir veya yeni bir ad sağlayabilirsiniz. Runbook Türü alanı, seçilen dosyayı değerlendirdikten sonra runbook türünü görüntüler. Doğru olmayan farklı bir tür seçmeye çalışırsanız, grafik düzenleyici olası çakışmalar olduğunu ve dönüştürme sırasında söz dizimi hataları olabileceğini belirten bir ileti sunar.
Grafik runbook'u test edin
Azure Otomasyonu'daki her grafik runbook'un taslak sürümü ve Yayımlanmış sürümü vardır. Yalnızca Yayımlanan sürümü çalıştırabilir, ancak yalnızca Taslak sürümünü düzenleyebilirsiniz. Yayımlanan sürüm Taslak sürümdeki herhangi bir değişiklikten etkilenmez. Taslak sürümü kullanıma hazır olduğunda, geçerli Yayımlanan sürümün üzerine Taslak sürümünüzle yazan sürümü yayımlarsınız.
Yayımlanan sürümü değiştirmeden bırakarak Azure portalında bir runbook'un Taslak sürümünü test edebilirsiniz. Alternatif olarak, herhangi bir sürüm değişikliğinden önce runbook'un düzgün çalıştığını doğrulayabilmeniz için yeni bir runbook yayımlanmadan önce test edebilirsiniz. Bir runbook'un test edilmesi Taslak sürümünü yürütür ve gerçekleştirdiği tüm eylemlerin tamamlanmasını sağlar. İş geçmişi oluşturulmaz, ancak Test Çıktısı bölmesinde çıktı görüntülenir.
Düzenleme için runbook'u açıp Test bölmesi'ne tıklayarak grafik runbook'unuz için Test denetimini açın. Test denetimi giriş parametrelerini ister ve Başlat'a tıklayarak runbook'u başlatabilirsiniz.
Grafik runbook yayımlama
Düzenleme için runbook'u açıp Yayımla'ya tıklayarak grafik bir runbook yayımlayın. Runbook için olası durumlar şunlardır:
- Yeni -- runbook henüz yayımlanmadı.
- Yayımlandı -- runbook yayımlandı.
- Düzenlemede -- runbook yayımlandıktan sonra düzenlenmiştir ve Taslak ve Yayımlanan sürümler farklıdır.
Runbook'un Yayımlanan sürümüne geri dönme seçeneğiniz vardır. Bu işlem, runbook'un son yayımlanma tarihinden bu yana yapılan değişiklikleri ortadan kaldırır. Runbook'un Taslak sürümünü Yayımlanan sürümle değiştirir.
Sonraki adımlar
- Grafik runbook'ları kullanmaya başlamak için bkz . Öğretici: Grafik runbook oluşturma.
- Runbook türleri ve bunların avantajları ve sınırlamaları hakkında daha fazla bilgi edinmek için bkz. runbook türlerini Azure Otomasyonu.
- PowerShell cmdlet başvurusu için bkz . Az.Automation.