2016-10-03 7 views
0

Azure Automationのワークフロー以下は機能しません。ハイブリッドRunbookのワーカー上で実行している私が取得:サスペンドワークフロー後のコンテキストの消失

  1. Azureのコンテキストが正しく設定されていると
  2. VMオブジェクト情報が正しくワークフローを使用して再開され
  3. ワークフローが中断した直後
  4. を中断され表示される表示しましたポータル
  5. Azureのコンテキストがエラー

    ランログイン-AzureRmAccountがログインしき、失われます。アズールワーカーに同じ実行

同上示すが、エラーで失敗したジョブ内の結果

ワークフロージョブを再開することができない、いずれかの永続データが完全に保存されなかったため、または保存された永続性データが破損しています。ワークフローを再開する必要があります。 (指定された状態で使用するためのキー有効ではありません。)Azure Automation PowerShell Workflowドキュメントから

workflow TestSub { 
    $SubscriptionName = Get-AutomationVariable -Name 'VAR-AUTO-SubscriptionName' 
    $AzureAutomationCredential = Get-AutomationPSCredential -Name 'CRE-AUTO-AutomationUser' 
    $AzureAccount = Add-AzureRmAccount -Credential $AzureAutomationCredential -SubscriptionName $SubscriptionName 
    Get-AzureRmContext 

    Get-AzureRmVM -ResourceGroupName AMS-CB-FELX-RG01 -Name li-felixc01 
    Suspend-Workflow 

    Get-AzureRmContext Get-AzureRmVM -ResourceGroupName AMS-CB-FELX-RG01 -Name li-felixc01 
} 

答えて

1

ユーザ名の資格情報を使用すると、サスペンド・ワークフローアクティビティを呼び出したりした後に永続化されませんので

最後のチェックポイントの後Suspend-Workflowまたはチェックポイントが呼び出された後、資格情報をnullに設定してからアセットストアから再度取得する必要があります。そうでないと、次のエラーメッセージが表示されることがあります。永続性データを完全に保存できなかったか、保存された永続性データが破損しているために、ワークフロージョブを再開できません。ワークフローを再開する必要があります。ここで

は正しくこれを行う方法の例です:

workflow CreateTestVms 
{ 
    $Cred = Get-AzureAutomationCredential -Name "MyCredential" 
    $null = Add-AzureRmAccount -Credential $Cred 

    $VmsToCreate = Get-AzureAutomationVariable -Name "VmsToCreate" 

    foreach ($VmName in $VmsToCreate) 
    { 
     # Do work first to create the VM (code not shown) 

     # Now add the VM 
     New-AzureRmVm -VM $Vm -Location "WestUs" -ResourceGroupName "ResourceGroup01" 

     # Checkpoint so that VM creation is not repeated if workflow suspends 
     $Cred = $null 
     Checkpoint-Workflow 
     $Cred = Get-AzureAutomationCredential -Name "MyCredential" 
     $null = Add-AzureRmAccount -Credential $Cred 
    } 
} 
関連する問題