Azure Otomasyonu'nda Runbook başlatma
Aşağıdaki tablo, belirli bir senaryonuza en uygun Azure Otomasyonu runbook başlatma yöntemini belirlemenize yardımcı olur. Bu makale, Azure portalı ve Windows PowerShell ile runbook başlatmaya ilişkin ayrıntıları içerir. Diğer yöntemlerle ilgili ayrıntılar, aşağıdaki bağlantılardan erişebileceğiniz diğer belgelerde verilmiştir.
Yöntem | Özellik -lerini |
---|---|
Azure portalı | |
Windows PowerShell | |
Azure Otomasyonu API | |
Web Kancaları | |
Azure Uyarısına yanıt verme | |
Plan | |
Başka bir Runbook'tan |
Aşağıdaki görüntüde runbook'un yaşam döngüsündeki ayrıntılı adım adım işlemler gösterilmektedir. Runbook'un Azure Otomasyonu'da başlamasının farklı yollarını içerir. Karma Runbook Çalışanı'nın Azure Otomasyonu runbook'ları yürütmesi için gereken bileşenler ve farklı bileşenler arasındaki etkileşimler. Veri merkezinizde Otomasyon runbook'larını yürütme hakkında bilgi edinmek için bkz. karma runbook çalışanları
Runbook parametreleriyle çalışma
Azure portalından veya Windows PowerShell'den bir runbook başlattığınızda yönerge Azure Otomasyonu web hizmeti aracılığıyla gönderilir. Bu hizmet karmaşık veri türlerine sahip parametreleri desteklemez. Karmaşık bir parametre için bir değer sağlamanız gerekiyorsa, bunu Azure Otomasyonu'daki Alt runbook'larda açıklandığı gibi başka bir runbook'tan satır içi olarak çağırmanız gerekir.
Azure Otomasyonu web hizmeti, aşağıdaki bölümlerde açıklandığı gibi belirli veri türlerini kullanan parametreler için özel işlevler sağlar.
Adlandırılmış değerler
Parametre [object] veri türüyse, şu JSON biçimini kullanarak adlandırılmış değerlerin listesini gönderebilirsiniz: {Name1:'Value1', Name2:'Value2', Name3:'Value3'}. Bu değerler basit türler olmalıdır. Runbook, parametreyi her adlandırılmış değere karşılık gelen özelliklere sahip bir PSCustomObject olarak alır.
kullanıcıadlı bir parametreyi kabul eden aşağıdaki sınama runbook’u göz önünde bulundurun.
Workflow Test-Parameters
{
param (
[Parameter(Mandatory=$true)][object]$user
)
$userObject = $user | ConvertFrom-JSON
if ($userObject.Show) {
foreach ($i in 1..$userObject.RepeatCount) {
$userObject.FirstName
$userObject.LastName
}
}
}
Aşağıdaki metin kullanıcı parametresi için kullanılabilir.
{FirstName:'Joe',LastName:'Smith',RepeatCount:'2',Show:'True'}
Bu, aşağıdaki çıkışı döndürür:
Joe
Smith
Joe
Smith
Diziler
Parametre [dizi] veya [dize[]] gibi bir diziyse, ona bir değer listesi göndermek için aşağıdaki JSON biçimini kullanabilirsiniz: [Değer1, Değer2, Değer3]. Bu değerler basit türler olmalıdır.
kullanıcıadlı bir parametreyi kabul eden aşağıdaki sınama runbook’u göz önünde bulundurun.
Workflow Test-Parameters
{
param (
[Parameter(Mandatory=$true)][array]$user
)
if ($user[3]) {
foreach ($i in 1..$user[2]) {
$ user[0]
$ user[1]
}
}
}
Aşağıdaki metin kullanıcı parametresi için kullanılabilir.
["Joe","Smith",2,true]
Bu, aşağıdaki çıkışı döndürür:
Joe
Smith
Joe
Smith
Referans
Parametre veri türü PSCredential
ise, Azure Otomasyonu kimlik bilgisi varlığının adını sağlayabilirsiniz. Runbook, belirttiğiniz ada sahip kimlik bilgilerini alır. Aşağıdaki test runbook'u adlı credential
bir parametreyi kabul eder.
Workflow Test-Parameters
{
param (
[Parameter(Mandatory=$true)][PSCredential]$credential
)
$credential.UserName
}
adlı My Credential
bir kimlik bilgisi varlığı olduğu varsayılarak kullanıcı parametresi için aşağıdaki metin kullanılabilir.
My Credential
Kimlik bilgilerindeki kullanıcı adının olduğu jsmith
varsayıldığında aşağıdaki çıkış görüntülenir.
jsmith
Azure portalı ile runbook başlatma
- Azure portalında Otomasyon'a tıklayın ve ardından Otomasyon hesabının adını seçin.
- Sol bölmeden Runbook'lar'ı seçin.
- Runbook'lar sayfasında bir runbook seçin ve başlat'a tıklayın.
- Runbook'un parametreleri varsa, her parametre için bir metin kutusu ile değerler sağlamanız istenir. Parametreler hakkında daha fazla bilgi için bkz . Runbook Parametreleri.
- İş bölmesinde runbook işinin durumunu görüntüleyebilirsiniz.
PowerShell ile runbook başlatma
Start-AzAutomationRunbook'u kullanarak Windows PowerShell ile bir runbook başlatabilirsiniz. Aşağıdaki örnek kod, Test-Runbook adlı bir runbook'u başlatır.
Start-AzAutomationRunbook -AutomationAccountName "MyAutomationAccount" -Name "Test-Runbook" -ResourceGroupName "ResourceGroup01"
Start-AzAutomationRunbook
runbook başlatıldıktan sonra durumu izlemek için kullanabileceğiniz bir iş nesnesi döndürür. Daha sonra bu iş nesnesini Get-AzAutomationJob ile kullanarak işin durumunu belirleyebilir ve get-AzAutomationJobOutput çıktısını alabilirsiniz. Aşağıdaki örnek Test-Runbook adlı bir runbook başlatır, tamamlanana kadar bekler ve ardından çıktısını görüntüler.
$runbookName = "Test-Runbook"
$ResourceGroup = "ResourceGroup01"
$AutomationAcct = "MyAutomationAccount"
$job = Start-AzAutomationRunbook -AutomationAccountName $AutomationAcct -Name $runbookName -ResourceGroupName $ResourceGroup
$doLoop = $true
While ($doLoop) {
$job = Get-AzAutomationJob -AutomationAccountName $AutomationAcct -Id $job.JobId -ResourceGroupName $ResourceGroup
$status = $job.Status
$doLoop = (($status -ne "Completed") -and ($status -ne "Failed") -and ($status -ne "Suspended") -and ($status -ne "Stopped"))
}
Get-AzAutomationJobOutput -AutomationAccountName $AutomationAcct -Id $job.JobId -ResourceGroupName $ResourceGroup -Stream Output
Runbook parametre gerektiriyorsa, bunları karma tablo olarak sağlamanız gerekir. Karma tablo anahtarı parametre adıyla eşleşmelidir ve değer parametre değeridir. Aşağıdaki örnek; FirstName ve LastName adlı iki dize parametresi, RepeatCount adlı bir tamsayı ve Show adlı bir boolean parametresiyle bir runbook’u nasıl çalıştıracağınızı gösterir. Parametreler hakkında daha fazla bilgi için bkz . Runbook Parametreleri.
$params = @{"FirstName"="Joe";"LastName"="Smith";"RepeatCount"=2;"Show"=$true}
Start-AzAutomationRunbook -AutomationAccountName "MyAutomationAccount" -Name "Test-Runbook" -ResourceGroupName "ResourceGroup01" -Parameters $params
Sonraki adımlar
- Runbook yönetiminin ayrıntıları için bkz. Azure Otomasyonu runbook'ları yönetme.
- PowerShell ayrıntıları için bkz . PowerShell Belgeleri.
- Runbook yürütme sorunlarını gidermek için bkz . Runbook sorunlarını giderme.