読者です 読者をやめる 読者になる 読者になる

Azure Automationのエラー「Compilation error while building dependent workflows」

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