【问题标题】:Losing context after Suspend-Workflow暂停工作流后丢失上下文
【发布时间】:2016-11-17 10:12:14
【问题描述】:

Azure 自动化中的以下工作流不起作用。在 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
}

【问题讨论】:

    标签: azure-automation powershell-workflow


    【解决方案1】:

    来自Azure Automation PowerShell Workflow 文档:

    由于在调用 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
         }
     }
    

    【讨论】:

      猜你喜欢
      • 2023-03-05
      • 1970-01-01
      • 2020-04-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多