別の Runbook から Runbook を呼び出し、Azure Automation の出力としてカスタム オブジェクトを取得する必要があります。呼び出された runbook が int または string を返すが、カスタム オブジェクトを返すことができない場合は正常に動作します。呼び出された runbook の簡単な例は次のとおりです。
workflow CalledRunbook
{
[OutputType([Object])]
$obj1=@{"key1"="value1"}
$obj1
}
この Runbook は CallingRunbook から呼び出され、この obj1 を出力する必要があります。
workflow CallingRunbook
{
#After doing proper authentication
$job = Start-AzureAutomationRunbook -Name "CalledRunbook" -AutomationAccountName $AutomationAccountName
$doLoop = $true
while($doLoop) {
Start-Sleep -s 5
$job = Get-AzureAutomationJob -Id $job.Id -AutomationAccountName $AutomationAccountName
$doLoop = (($job.Status -notmatch "Completed") -and ($job.Status -notmatch "Failed") -and ($job.Status -notmatch "Suspended") -and ($job.Status -notmatch "Stopped"))
}
$jobout = Get-AzureAutomationJobOutput `
-Id $job.Id `
-AutomationAccountName $AutomationAccountName `
-Stream Output
if ($jobout) {
Write-Output $jobout
}
}
出力は空です。完全に正常に機能する文字列を返す場合。カスタムオブジェクトで動作させるには?