我正在尝试通过REST interface重新启动/重新启动 Azure 虚拟机。
我通过 Azure 门户创建了一个虚拟机,它在左侧的“虚拟机”选项卡下显示为正在运行。
我用于此操作的 url 如下:
https://management.core.windows.net/ {my-subscription-guid} /services/hostedservices/ cloudvm-test /deployments/ cloudvm-test /roles/ cloudvm-test /Operations
您可以看到“cloudvm-test”作为托管服务名称、部署名称和角色名称重复出现,因为这就是它在调用Get Hosted Service Properties后返回的 xml 中的显示方式。尽管虚拟机不是经典的托管服务,但它出现在这个 xml 中,所以我只使用在那里找到的值。我担心的问题之一是我是否正确构建了 URL。
无论如何,使用上面的 URL,我按预期构建了我的请求,并发布了以下内容:
<RestartRoleOperation xmlns="http://schemas.microsoft.com/windowsazure" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<OperationType>RestartRoleOperation</OperationType></RestartRoleOperation>
我收到的错误是 404,指出“不支持资源服务名称托管服务”。
并不是说它真的很重要,但我正在用 Objective C 编写。如果你有 C# 中的示例,我可以很好地处理它。