1

我在这里发现了一个非常奇怪的问题:在 Azure powershell 中,我们可以对 VM state=stop 或 stop(Deallocated) 使用 Start-AzureVM -ServiceName "mypc" -Name "mypc"。但是对于 Azure Mangement API 我们只能将启动角色用于 VM state=stop

VM state=stop(deallocated) 无法使用该 API。如何使用 REST API 以 State=Stop(deallocated) 启动 VM?谢谢。

4

3 回答 3

5

Windows Azure PowerShell cmdlet 使用服务管理 REST API - 但它使用未记录的2013-06-01 版本。此操作可能仅在服务管理 REST API 的未记录版本中可用。

您可以通过使用Fiddler代理请求来查看 cmdlet 实际执行的操作 - 这使您可以访问调用的操作 (URL) 以及发送和接收的负载。或者,您可以查看GitHub 上提供的 PowerShell cmdlet源。

于 2013-09-28T09:38:26.727 回答
1
POST https://management.core.windows.net/<subscription-id>/services/hostedservices/<service-name>/deployments/<deployment-name>/roleinstances/<role-name>/Operations

**x-ms-version: 2013-06-01**

<StartRoleOperation xmlns="http://schemas.microsoft.com/windowsazure" xmlns:i="http://www.w3.org/2001/XMLSchema-instance"><OperationType>StartRoleOperation</OperationType></StartRoleOperation>
于 2013-09-30T19:32:21.310 回答
0
public Task<ComputeLongRunningOperationResponse> StartVirtualMachineAsync(string subscriptionId, string name, string resource_group)
{
    TokenCloudCredentials tokenCloudCredential = new TokenCloudCredentials(subscriptionId, token);

    ComputeManagementClient computeManagementClient = new ComputeManagementClient(tokenCloudCredential);

    return computeManagementClient.VirtualMachines.StartAsync(resource_group, name);
}
于 2018-08-23T10:36:23.497 回答