Как включить виртуальную машину в лазурной?

Название говорит само за себя. Я перепробовал много вещей, но не думаю, что что-то из них стоит упоминать. Я наконец-то решил избежать Microsoft.WindowsAzure и установил библиотеки Microsoft.Azure.Management.Compute и Microsoft.Azure.Common.

Наконец-то у меня есть токен аутентификации:

var authenticationContext = new AuthenticationContext("https://login.windows.net/deadbeef-beef-beef-beef-ec74557498e8");
var credential = new ClientCredential("beefbeef-beef-beef-beef-b1d3cf5d037d", "passwordpasswordpasswordpasswordpasswordpas=");
var result = authenticationContext.AcquireTokenAsync("https://www.url.com/servicename", credential);

Но сейчас я пытаюсь использовать документацию, чтобы научиться включать мои виртуальные машины. Я даже не знаю точно, с чего начать. Все, что я знаю, это то, что я хотел бы избежать API REST и сохранить свой код на C#. Я ищу что-то вроде:

using (var client = new ComputeManagementClient(creds)) {
    foreach (var vm in client.VMs)
    {
        Console.WriteLine("Starting VM: {0}", vm.Name);

        vm.PowerOn();
    }
}

1 ответ

Решение

Предполагая, что вы имеете дело с виртуальными машинами на основе ARM, вот код для их запуска. "context" - это ComputeManagementClient в пространстве имен Microsoft.Azure.Management.Compute.

var result = VirtualMachinesOperationsExtensions.Start(context.VirtualMachines, azureResourceGroup, azureResourceName);

Если вы имеете дело с классическими виртуальными машинами, вот код для их запуска. "context" - это ComputeManagementClient в пространстве имен Microsoft.WindowsAzure.Management.Compute.

var result = context.VirtualMachines.BeginStarting(serviceName, deploymentName,
                        instanceName);

Вы также можете избежать всех проблем, связанных с написанием собственного кода и его мониторингом, следя за тем, чтобы он работал правильно, и использовать CloudMonix для планирования запуска и завершения работы ваших виртуальных машин Azure. (Я связан с сервисом)

Другие вопросы по тегам