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