Azure AutomationではPowershell Workflowsが使われています。
この、Powershell Workflowsですが、PowerShellとほとんど同じように書けるのですが、やはり違う部分があります。
この記事では今日出会ったこのエラーに対する対応を書きます。
Compilation error while building dependent workflows. For details see C:\Users\Usernameofyourservice\AppData\Local\Temp\PSWorkflowCompilation\Workflow_RandomID\Project\Build.Log.
親ワークフローがこちらで、
workflow Parent-Workflow
{
Child-Workflow -ServiceName "MYSERVICE" -VMName "MYVM"
}
子ワークフローがこちらです。
workflow Child-Workflow
{
Param(
[Parameter(Mandatory=$true)]
[string] $ServiceName,
[Parameter(Mandatory=$true)]
[string] $VMName
)
Get-AzureVM `
-ServiceName $ServiceName `
-Name $VirtualMachineName
}
このスクリプトの何がエラーの原因だったかというと改行の「`」です。
子ワークフローからコマンド内の改行を無くしたら正常に動きました。
workflow Child-Workflow
{
Param(
[Parameter(Mandatory=$true)]
[string] $ServiceName,
[Parameter(Mandatory=$true)]
[string] $VMName
)
Get-AzureVM -ServiceName $ServiceName -Name $VirtualMachineName
}
同様のエラーで他にもこんな事例もあるみたいです。
http://wp.me/p4iqKg-1S