Я пытаюсь перезагрузить / перезапустить виртуальную машину Azure через интерфейс REST < / а>.
Я создал виртуальную машину через портал Azure, и она отображается как работающая на вкладке «Виртуальные машины» слева.
URL-адрес, который я использую для этой операции, выглядит следующим образом:
https://management.core.windows.net/ {my-subscription-guid} / services / hostedservices / cloudvm-test / deployments / cloudvm-test / roles / cloudvm-test / Operations
Вы можете увидеть «cloudvm-test», повторяющееся как имя размещенной службы, имя развертывания и имя роли, потому что именно так оно отображается в XML, который вы получаете после вызова Получить свойства размещенной службы. Несмотря на то, что виртуальная машина не является классической размещенной службой, она отображается в этом xml, поэтому я просто использую значения, которые я там нахожу. Одна из проблем, которые меня беспокоят, заключается в том, правильно ли я создаю URL-адрес.
В любом случае, используя указанный выше URL-адрес, я создаю свой запрос, как ожидалось, и отправляю POST текст:
<RestartRoleOperation xmlns="http://schemas.microsoft.com/windowsazure" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<OperationType>RestartRoleOperation</OperationType></RestartRoleOperation>
Я получаю сообщение об ошибке 404, в котором говорится, что «Имя службы ресурса hostedservices не поддерживается».
Не то чтобы это действительно важно, но я пишу на Objective C. Если у вас есть пример на C #, я могу с ним справиться.