以编程方式重新启动Azure虚拟机会生成404错误

以编程方式重新启动Azure虚拟机会生成404错误,azure,Azure,我正在尝试通过重新启动/重新启动Azure虚拟机 我通过Azure门户创建了一个虚拟机,它显示为在左侧的虚拟机选项卡下运行 我用于此操作的url如下所示: {my subscription guid}/services/hostedservices/云虚拟机测试/deployments/云虚拟机测试/roles/云虚拟机测试/Operations 您可以看到“cloudvm测试”作为托管服务名称、部署名称和角色名称重复出现,因为它在您从调用返回的xml中就是这样出现的。尽管虚拟机不是一个典型的托

我正在尝试通过重新启动/重新启动Azure虚拟机

我通过Azure门户创建了一个虚拟机,它显示为在左侧的虚拟机选项卡下运行

我用于此操作的url如下所示:

{my subscription guid}/services/hostedservices/云虚拟机测试/deployments/云虚拟机测试/roles/云虚拟机测试/Operations

您可以看到“cloudvm测试”作为托管服务名称、部署名称和角色名称重复出现,因为它在您从调用返回的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,指出“不支持资源服务名称hostedservices”


这并不重要,但我是用Objective C编写的。如果你有C语言的例子,我可以很好地处理。

而不是
../roles/roleName/…
你必须使用
../roleininstances/roleName…
(在Uri路径中将角色替换为roleininstances

与虚拟机相关的文档中充满了这样的小错误


顺便说一下,为了拥有一台虚拟机,您需要一个“托管服务”。因此,如果您尝试使用RESTAPI创建VM,您将发现必须指定现有的托管服务。因此,首先必须创建托管服务,然后向其部署虚拟机。这有点令人困惑,因为门户对我们隐藏了这些小细节。但是,如果您转到旧的门户,您将看到实际上在您创建的每个虚拟机后面都有一个托管服务。该托管服务不会作为“云服务”出现在新门户中,除非您删除其中的所有VM…

而不是
../roles/roleName/…
您必须使用
../roleininstances/roleName…
(在Uri路径中将角色替换为roleininstances

与虚拟机相关的文档中充满了这样的小错误


顺便说一下,为了拥有一台虚拟机,您需要一个“托管服务”。因此,如果您尝试使用RESTAPI创建VM,您将发现必须指定现有的托管服务。因此,首先必须创建托管服务,然后向其部署虚拟机。这有点令人困惑,因为门户对我们隐藏了这些小细节。但是,如果您转到旧的门户,您将看到实际上在您创建的每个虚拟机后面都有一个托管服务。该托管服务不会作为“云服务”出现在新门户中,除非您删除其中的所有虚拟机…

谢谢您的回答。虽然我得到的是HTTP 202响应(已接受),而不是文档化的HTTP 201(已创建),但这似乎起到了作用。我想我会把它归咎于另一个文档错误。我最近做了一些虚拟机工作(正在工作),坦白地说,我不认为我见过201。所有的答案都被接受了。甚至对于CreateVirtualMachineDeployment!另外,这似乎也是文档中的一些不一致之处—ResartRoleOperation不能(语义上)返回“Created”。返回“Accepted”在语义上是正确的。谢谢你的回答。虽然我得到的是HTTP 202响应(已接受),而不是文档化的HTTP 201(已创建),但这似乎起到了作用。我想我会把它归咎于另一个文档错误。我最近做了一些虚拟机工作(正在工作),坦白地说,我不认为我见过201。所有的答案都被接受了。甚至对于CreateVirtualMachineDeployment!另外,这似乎也是文档中的一些不一致之处—ResartRoleOperation不能(语义上)返回“Created”。返回“Accepted”在语义上确实是正确的。