0

Azure Automation の以下のワークフローが機能していません。Hybrid Runbook Worker で実行すると、次のようになります。

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

    Login-AzureRmAccount を実行してログインします。

Azure ワーカーで同じことを実行すると、上記と同じように表示されますが、ジョブはエラーで失敗します

永続データを完全に保存できなかったか、保存された永続データが破損しているため、ワークフロー ジョブを再開できません。ワークフローを再開する必要があります。(指定された状態でのキーの使用は無効です。)

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
}
4

1 に答える 1

1

Azure Automation PowerShell ワークフロードキュメントから:

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

これを正しく行う方法の例を次に示します。

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
     }
 }
于 2016-11-17T02:12:14.150 に答える