Azure Automation Runbook无法完成,没有错误

dba5bblo  于 2023-06-24  发布在  其他
关注(0)|答案(2)|浏览(126)

我正在尝试运行API管理服务的备份。我可以在PS中从我的本地机器上使用下面的代码在我的子所有者登录上下文中完成此操作。
当我尝试将其作为Runbook运行时,我只得到:

Suspended
The runbook job was attempted 3 times, but it failed each time.  Common reasons that runbook jobs fail can be found here:  https://docs.microsoft.com/en-us/azure/automation/automation-troubleshooting-automation-errors

没有错误,只有上面的。
我尝试在用户和系统分配的身份下运行,结果没有任何差异。

$method="UA"
    $apiManagementName="xxxx-Prod";
    $apiManagementResourceGroup="xxxx-Prod";
    $storageAccountName=xxxxstorage";
    $storageResourceGroup="xxxations";
    $containerName="xxxxbackups";
    $blobName="prodnpapim.apimbackup"
    $date = (Get-Date).ToString("yyyyMMdd")
    $outputBlobName = "$($date)$($blobName)"
    
    $identityName = "xxxx-OPS-MID";
    $identityResourceGroup = "xxxxtions";
    
try
{
    "Logging in to Azure..."
    Connect-AzAccount -Identity
}
catch {
    Write-Error -Message $_.Exception
    throw $_.Exception
}

$storageKey = (Get-AzStorageAccountKey -ResourceGroupName $storageResourceGroup -StorageAccountName $storageAccountName)[0].Value

$storageContext = New-AzStorageContext -StorageAccountName $storageAccountName -StorageAccountKey $storageKey

"Starting backup"

try{
    Backup-AzApiManagement -ResourceGroupName $apiManagementResourceGroup -Name $apiManagementName `
        -StorageContext $storageContext -TargetContainerName $containerName -TargetBlobName $outputBlobName
}
catch{
    "Backup-AzApiManagement error"   
    exit
}

没有任何错误,我卡住了-鉴于它在本地PS工作正常。
我哪里做错了?

fcwjkofz

fcwjkofz1#

我解决了这个问题。
我必须执行以下步骤。
导入我需要的模块。

Import-Module Az.Accounts
Import-Module Az.ApiManagement
Import-Module Az.Storage

禁用上下文保存

Disable-AzContextAutosave -Scope Process

设置上下文

$AzureContext = (Connect-AzAccount -Identity).context

$AzureContext = Set-AzContext -SubscriptionName $AzureContext.Subscription -DefaultProfile $AzureContext

这是使用系统管理的标识

e7arh2l6

e7arh2l62#

您缺少定义storageAccountName的开口"

$storageAccountName=xxxxstorage"

不确定这是否是一个语法错误粘贴到SO或如果这将是相同的在您的实际运行手册。
如果在此之后仍然失败,那么您将不得不在Runbook作业中使用更多的Write-Output语句和详细的日志记录,以确定每个步骤之间的问题所在。

相关问题