我正在尝试运行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工作正常。
我哪里做错了?
2条答案
按热度按时间fcwjkofz1#
我解决了这个问题。
我必须执行以下步骤。
导入我需要的模块。
禁用上下文保存
设置上下文
这是使用系统管理的标识
e7arh2l62#
您缺少定义
storageAccountName
的开口"
不确定这是否是一个语法错误粘贴到SO或如果这将是相同的在您的实际运行手册。
如果在此之后仍然失败,那么您将不得不在Runbook作业中使用更多的Write-Output语句和详细的日志记录,以确定每个步骤之间的问题所在。