【问题标题】:Create Virtual Machine Deployment Azure REST API创建虚拟机部署 Azure REST API
【发布时间】:2016-11-11 17:10:18
【问题描述】:
        String cloudServiceDeployment = "imagevmtest";
        url = String.format("https://management.core.windows.net/%s/services/hostedservices/%s/deployments", subscriptionId, cloudServiceDeployment);
        String requestBody2 = "<?xml version=\"1.0\" encoding=\"utf-8\"?><Deployment xmlns=\"http://schemas.microsoft.com/windowsazure\"><Name>190bed4a</Name><DeploymentSlot>Production</DeploymentSlot><Label>190bed4a</Label><RoleList><Role><RoleName>SuseOpenVm_rolec8fc</RoleName><RoleType>PersistentVMRole</RoleType><ConfigurationSets><ConfigurationSet><ConfigurationSetType>LinuxProvisioningConfiguration</ConfigurationSetType><HostName>SuseOpenVm_rolec8fc</HostName><UserName>anandsrinivasan</UserName><UserPassword>Cloud360</UserPassword><DisableSshPasswordAuthentication>false</DisableSshPasswordAuthentication></ConfigurationSet><ConfigurationSet><ConfigurationSetType>NetworkConfiguration</ConfigurationSetType><DisableSshPasswordAuthentication>false</DisableSshPasswordAuthentication><InputEndpoints><InputEndpoint><LocalPort>22</LocalPort><Name>SSH</Name><Port>22</Port><Protocol>TCP</Protocol></InputEndpoint></InputEndpoints></ConfigurationSet></ConfigurationSets><OSVirtualHardDisk><MediaLink>https://2xportalvhds7jsf9ncknn4s.blob.core.windows.net/vhds/imagevmtest-imagevmtest-2016-11-10.vhd</MediaLink><SourceImageName>imagevmtest-imagevmtest-2016-11-10.vhd</SourceImageName></OSVirtualHardDisk><RoleSize>Small</RoleSize></Role></RoleList><VirtualNetworkName>anand360NW</VirtualNetworkName></Deployment>";

        int deployResponseCode = processPostRequest(new URL(url),requestBody2.getBytes(), "application/xml", keyStorePath, keyStorePassword);
        System.out.println(deployResponseCode);

我正在使用上面的代码并尝试在我的 Azure 中创建一个虚拟机。但仍然出现错误 400。你们能指导我如何通过 REST API 在我的 Azure 帐户中创建一个 vm 吗?

【问题讨论】:

  • 我想问你尝试使用原始REST API创建Azure资源的目的是什么?您是否尝试过一些替代方案?
  • @MilanNankov 我正在计划让用户在我的网站下创建帐户后自动在 Azure 上创建虚拟机。有哪些替代方案?你能提供一些步骤吗?谢谢

标签: rest api azure


【解决方案1】:

现在这是对您问题的直接回答,但我将提供一些可能更适合您的方案的替代方案。

必须处理生成整个 XML 非常困难且容易出错。 REST API 与 Azure 上的级别一样低。我的建议是尝试一些构建在 REST API 之上的 API/工具,例如 PowerShellAzure CLI

如果您使用.NET,最好的选择是使用Management Libraries for .NET。原来的管理库使用起来有点麻烦,但是有一个使用 fluent API 的新版本和改进版本,从我目前看到的情况来看,它太棒了!这是介绍性博客文章 - https://azure.microsoft.com/en-us/blog/simpler-azure-management-libraries-for-net/

总而言之,我认为最好避免使用原始 REST API 的麻烦并改用一些包装器。

让我知道你的想法。

【讨论】:

  • 好的,感谢您的帮助。我会尽快回到这里。给我一些时间来发展和弄清楚。我很感激你可以在这里给我一些建议。 =)
  • 我现在可以使用 Azure CLI 创建一个 vm。谢谢你。现在我有另一个问题,vm 是使用 azure CLI 手动创建的。有没有使用 Azure CLI 自动创建 vm 的步骤?
  • 云你详细说明了你的最后评论。 “自动”是什么意思?响应某些事件或?您提到了您的网站,因此您可能希望在用户注册时创建虚拟机。您的站点是 ASP.NET 应用程序还是正在使用其他技术?
  • 现在,Azure CLI 是一个命令提示符,所以当我需要创建虚拟机时,我需要手动输入所有内容。我猜我的网站是一个PHP。那么有什么方法可以自动创建虚拟机。我现在正在尝试使用 Visual Studio,但每当我尝试登录时都会遇到一些问题。我想这是单点登录回复 uri 的事情。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-10-19
  • 2019-05-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-08-10
  • 2019-05-24
相关资源
最近更新 更多