Как выполнить Reset-RoleInstance и дождаться завершения операции ...
Я пытался использовать командлеты Windows Azure PowerShell для выполнения Reset-RoleInstance, после чего |Get-OperationStatus -WaitToComplete.
Итак, в документации сказано: «Эта операция выполняется асинхронно. Чтобы определить, завершила ли служба управления обработку запроса, вызовите командлет Get-OperationStatus с идентификатором операции, возвращенным Reset-RoleInstance,и, необязательно, дождитесь завершения, указав параметр –WaitToComplete. "
Я пробовал эту версию:
Reset-RoleInstance -ServiceName MyTodo -DeploymentSlot production -SubscriptionId $subsId -Certificate $cert –reboot | GetOperationStatus -WaitToComplete
, но это имеет тип в" GetOperationStatus ".Поэтому, когда я заменяю на «Get-OperationStatus», PS жалуется, что OperationId является нулевым или пустым.
«Get-OperationStatus: Невозможно проверить аргумент для параметра« OperationId ». Аргумент является пустым или пустым. Укажите аргументэто не пусто или пусто, а затем попробуйте ввести команду d еще раз. "
Итак, затем я попробую эту версию сценария PS ...
Reset-RoleInstance -ServiceName $serviceName -DeploymentSlot Production -InstanceName $i.InstanceName -SubscriptionId $subid -Certificate $cert -Reboot -OutVariable out | Get-OperationStatus -OperationId out.OperationId -WaitToComplete
На этот раз Get-OperationStatusначинает выдавать ошибки ...
Get-OperationStatus: код состояния HTTP: BadRequest - сообщение об ошибке HTTP: идентификатор запроса операции не найден ... в Microsoft.WindowsAzure.Samples.ManagementTools.PowerShell.Services.Common.GetOperationStatusCommand
Get-OperationStatus: ссылка на объект не установлена на экземпляр объекта .... в Microsoft.WindowsAzure.Samples.ManagementTools.PowerShell.Services.Common.GetOperationStatusCommand "*
Мне также удалось вывести $ out, и OperationId фактически нулевой, НО в элементе RoleInstances outpно есть это значение ... RoleInstances: {Имя экземпляра: MyService.MyWorker_IN_0 - Идентификатор операции: 6e87a07fb9a5474499aed3f9ebe99129 }
Вот выходные данные переменной $ out ... "RoleInstances:{Имя экземпляра: MyService.MyWorker_IN_0 - идентификатор операции: 6e87a07fb9a5474499aed3f9ebe99129} Имя_службы: ... имя моей службы SubscriptionId: ... идентификатор моей подписки Сертификат: ... информация о сертификате
Идентификатор операции: "