2016-11-11 3 views
0
 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. Можете ли вы, ребята, мне посоветовать, как создать vm в моей учетной записи Azure через REST API?Создание виртуальной машины Azure REST API

+0

Я хотел бы спросить вас, в чем цель использования необработанного API REST для создания ресурсов Azure? Вы пробовали некоторые из альтернатив? –

+0

@MilanNankov Я планирую что-то, что может позволить пользователям создавать vm на Azure автоматически, как только они создали учетную запись на моем сайте. Каковы альтернативы? Можете ли вы дать несколько шагов? Спасибо –

ответ

0

Это прямой ответ на ваш вопрос, но я предложу несколько альтернатив, которые могут быть лучше для вашего сценария.

Имея дело с генерацией всего XML, довольно сложно и подвержено ошибкам. REST API такой же низкий, как и на Azure. Мое предложение состоит в том, чтобы попробовать некоторые из API/Инструменты, которые построены на основе REST API, например PowerShell и Azure CLI.

Лучшим вариантом, если вы используете .NET, является использование Management Libraries for .NET. Исходные библиотеки управления немного громоздки в использовании, но есть новая и улучшенная версия в работе с использованием свободного API и из того, что я видел до сих пор, это потрясающе! Вот вступительная запись в блоге - https://azure.microsoft.com/en-us/blog/simpler-azure-management-libraries-for-net/

Подводя итог, я думаю, что лучше всего, если вы избавитесь от необходимости работать с необработанным API REST и вместо этого использовать некоторые из оберток.

Сообщите мне, что вы думаете.

+0

Хорошо, спасибо за вашу помощь. Я вернусь сюда как можно скорее. Дайте мне время, чтобы развить и понять это. Я ценю, что вы могли бы дать мне несколько советов. =) –

+0

Я могу создать vm, используя Azure CLI. Спасибо. И теперь у меня есть другой вопрос: vm создается вручную с помощью azure CLI. Есть ли какой-нибудь шаг для автоматического создания vm с использованием Azure CLI? –

+0

Облако, которое вы немного уточните в своем последнем комментарии. Что вы подразумеваете под «автоматически»? В ответ на какое-то событие или? Вы упомянули о своем веб-сайте, поэтому вы, вероятно, захотите создать виртуальные машины, когда пользователь зарегистрирован. Вы используете приложение ASP.NET или используете какую-либо другую технологию? –

Смежные вопросы