Mulai runbook di Azure Automation
Tabel berikut ini membantu Anda menentukan metode untuk memulai runbook di Azure Automation yang paling sesuai dengan skenario khusus Anda. Artikel ini mencakup detail tentang memulai runbook dengan portal Microsoft Azure dan Windows PowerShell. Detail tentang metode lain disediakan dalam dokumentasi lain yang dapat Anda akses dari tautan di bawah ini.
Metode | Karakteristik |
---|---|
Portal Azure | |
Windows PowerShell | |
Azure Automation API | |
Webhook | |
Merespons Pemberitahuan Azure | |
Jadwal | |
Dari Runbook Lain |
Gambar berikut mengilustrasikan proses langkah demi langkah yang terperinci dalam siklus hidup runbook. Ini mencakup berbagai cara runbook dimulai di Azure Automation, komponen mana yang diperlukan untuk Hybrid Runbook Worker untuk menjalankan runbook Azure Automation dan interaksi antara komponen yang berbeda. Untuk mempelajari tentang menjalankan runbook Automation di pusat data Anda, lihat pekerja runbook hibrid
Bekerja dengan parameter runbook
Saat Anda memulai runbook dari portal Microsoft Azure atau Windows PowerShell, instruksi akan dikirim melalui layanan web Azure Automation. Layanan ini tidak mendukung parameter dengan jenis data yang kompleks. Jika Anda perlu memberikan nilai untuk parameter kompleks, maka Anda harus memanggilnya sebaris dari runbook lain seperti yang dijelaskan dalam Runbook Elemen Anak di Azure Automation.
Layanan web Azure Automation menyediakan fungsionalitas khusus untuk parameter yang menggunakan jenis data tertentu seperti yang dijelaskan di bagian berikut ini.
Nilai bernama
Jika parameternya adalah jenis data [objek], maka Anda dapat menggunakan format JSON berikut untuk mengirimkannya daftar nilai bernama: {Name1:'Value1', Name2:'Value2', Name3:'Value3'}. Nilai-nilai ini harus jenis sederhana. Runbook menerima parameter sebagai PSCustomObject dengan properti yang sesuai dengan setiap nilai bernama.
Pertimbangkan runbook pengujian berikut yang menerima parameter yang disebut pengguna.
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
}
}
}
Teks berikut dapat digunakan untuk parameter pengguna.
{FirstName:'Joe',LastName:'Smith',RepeatCount:'2',Show:'True'}
Perintah ini menghasilkan output berikut:
Joe
Smith
Joe
Smith
Larik
Jika parameternya adalah larik seperti [array] atau [string[]], maka Anda dapat menggunakan format JSON berikut untuk mengirimkannya daftar nilai: [Value1, Value2, Value3]. Nilai-nilai ini harus jenis sederhana.
Pertimbangkan runbook pengujian berikut yang menerima parameter yang disebut pengguna.
Workflow Test-Parameters
{
param (
[Parameter(Mandatory=$true)][array]$user
)
if ($user[3]) {
foreach ($i in 1..$user[2]) {
$ user[0]
$ user[1]
}
}
}
Teks berikut dapat digunakan untuk parameter pengguna.
["Joe","Smith",2,true]
Perintah ini menghasilkan output berikut:
Joe
Smith
Joe
Smith
Informasi Masuk
Jika parameternya adalah jenis data PSCredential
, Anda dapat memberikan nama aset info masuk Azure Automation. Runbook akan mengambil info masuk dengan nama yang Anda tentukan. Runbook pengujian berikut menerima parameter yang disebut credential
.
Workflow Test-Parameters
{
param (
[Parameter(Mandatory=$true)][PSCredential]$credential
)
$credential.UserName
}
Teks berikut dapat digunakan untuk parameter pengguna dengan asumsi bahwa ada aset info masuk yang disebut My Credential
.
My Credential
Output berikut akan ditampilkan dengan asumsi bahwa nama pengguna dalam info masuk adalah jsmith
.
jsmith
Memulai runbook dengan portal Microsoft Azure
- Di portal Microsoft Azure, pilih Azure Automation, lalu klik nama akun Azure Automation.
- Dari panel kiri, pilih Runbook.
- Pada halaman Runbook, pilih runbook, lalu klik Mulai.
- Jika runbook memiliki parameter, Anda akan diminta untuk memberikan nilai dengan kotak teks untuk setiap parameter. Untuk informasi selengkapnya tentang parameter, lihat Parameter Runbook.
- Pada panel Pekerjaan, Anda dapat melihat status pekerjaan runbook.
Memulai runbook dengan PowerShell
Anda dapat menggunakan Start-AzAutomationRunbook untuk memulai runbook dengan Windows PowerShell. Kode contoh berikut memulai runbook yang disebut Test-Runbook.
Start-AzAutomationRunbook -AutomationAccountName "MyAutomationAccount" -Name "Test-Runbook" -ResourceGroupName "ResourceGroup01"
Start-AzAutomationRunbook
akan mengembalikan objek pekerjaan yang dapat Anda gunakan untuk melacak status setelah runbook dimulai. Anda kemudian dapat menggunakan objek pekerjaan ini dengan Get-AzAutomationJob untuk menentukan status pekerjaan dan Get-AzAutomationJobOutput untuk mengambil output-nya. Contoh berikut memulai runbook yang disebut Test-Runbook, menunggu hingga prosesnya selesai, lalu menampilkan output-nya.
$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
Jika runbook memerlukan parameter, maka Anda harus menyediakannya sebagai hashtable. Kunci hashtable harus sesuai dengan nama parameter dan nilainya adalah nilai parameter. Contoh berikut menunjukkan cara memulai runbook dengan dua parameter string bernama FirstName dan LastName, bilangan bulat bernama RepeatCount, dan parameter boolean bernama Show. Untuk informasi selengkapnya tentang parameter, lihat Parameter Runbook.
$params = @{"FirstName"="Joe";"LastName"="Smith";"RepeatCount"=2;"Show"=$true}
Start-AzAutomationRunbook -AutomationAccountName "MyAutomationAccount" -Name "Test-Runbook" -ResourceGroupName "ResourceGroup01" -Parameters $params
Langkah berikutnya
- Untuk detail pengelolaan runbook, lihat Mengelola runbook di Azure Automation.
- Untuk detail PowerShell, lihat PowerShell Docs.
- Untuk memecahkan masalah eksekusi runbook, lihat Memecahkan masalah runbook.