Во время наших стресс-тестов с AzureRM, подготовки и удаления больших блоков виртуальных машин мы заметили, что мы получаем некоторые нечетные ошибки в нашей подготовке и удалении книг. Мы хотели бы иметь процесс, который находит эти неудавшиеся задания и переупорядочивает их. Для этого нам нужно знать входные параметры задания. Однако при запускеПолучение параметров ввода работы от Azure RM Job через Powershell
Get-AzureRmAutomationJob -AutomationAccountName $aa.AutomationAccountName -RunbookName "Delete-AzureRmVm" -StartTime $then -Status "Failed" -ResourceGroupName $rg.ResourceGroupName
все задания показывают количество 0 для заданияПараметры.
Вот некоторые примеры кода:
<code to get assets>
$suspended = Get-AzureRmAutomationJob -AutomationAccountName $aa.AutomationAccountName -RunbookName "Delete-AzureRmVm" -StartTime $then -Status "Suspended" -ResourceGroupName $rg.ResourceGroupName
$failed = Get-AzureRmAutomationJob -AutomationAccountName $aa.AutomationAccountName -RunbookName "Delete-AzureRmVm" -StartTime $then -Status "Failed" -ResourceGroupName $rg.ResourceGroupName
$completed = Get-AzureRmAutomationJob -AutomationAccountName $aa.AutomationAccountName -RunbookName "Delete-AzureRmVm" -StartTime $then -Status Completed -ResourceGroupName $rg.ResourceGroupName
foreach($job in $completed)
{
Write-Output " "
$job
Write-Output " "
$jobId = $job.JobId.Guid.ToString()
Write-Output "Job Parameters for $jobId"
#Get-AzureRmAutomationJobOutput -Id $job.JobId -Stream Any -ResourceGroupName $rg.ResourceGroupName -AutomationAccountName $aa.AutomationAccountName -Verbose
foreach($jobParameter in $job.JobParameters)
{
$jobParameter
break
}
}
Выход:
ResourceGroupName : <valid RGN>
AutomationAccountName : <valid AAN>
JobId : 2b5fdc91-c87b-4704-9b12-91d2365eaa95
CreationTime : 2/10/2016 5:19:38 PM -05:00
Status : Completed
StatusDetails :
StartTime : 2/10/2016 5:19:42 PM -05:00
EndTime : 2/10/2016 5:43:25 PM -05:00
Exception :
LastModifiedTime : 2/10/2016 5:43:25 PM -05:00
LastStatusModifiedTime : 1/1/0001 12:00:00 AM +00:00
JobParameters : {}
RunbookName : Delete-AzureRmVm
HybridWorker :
StartedBy :
Job Parameters for 2b5fdc91-c87b-4704-9b12-91d2365eaa95
Что мы делаем неправильно, что мы не видим входные параметры? Независимо от статуса работы, все задания показывают 0 параметров работы. При взгляде на ту же работу в AzureRM портале, мы можем увидеть следующие параметры:
- MICROSOFTAPPLICATIONMANAGEMENTSTARTEDBY = «PowerShell»
- VMname = «azrdevvmn125»
Итак, мы знаем, что входные параметры есть, просто не как добраться до них через PowerShell. Любая помощь, которую вы можете предоставить, будет очень признательна.
Спасибо!