Podczas korzystania z poniższych metod zamykanie i wykonywanie zapytań o instancje ról. Po zamknięciu maszyny wirtualnej zwracane są wszystkie inne instancje ról ze stanem stanu gotowości nieznany. Po około kilku minutach mogę ponownie zapytać i uzyskać aktualny status. Jak uzyskać aktualny stan w czasie rzeczywistym za pomocą interfejsów API zarządzania Azure. Czy jest to problem z konfiguracją maszyn wirtualnych? Są skonfigurowane w tym samym miejscu składowania oraz samej sieci wirtualnejWyłączanie maszyny wirtualnej zwraca wszystkie stany maszyny wirtualnej jako nieznane.
Kod pokazany został oparty off szablonu do wdrożenia i zarządzania maszynami wirtualnymi w Visual Studio 2015
wezwanie do wyłączenia VM:
var shutdownParams = new VirtualMachineShutdownParameters();
if (deallocate)//deallocate is true in this instance
shutdownParams.PostShutdownAction = PostShutdownAction.StoppedDeallocated; // Fully deallocate resources and stop billing
else
shutdownParams.PostShutdownAction = PostShutdownAction.Stopped; // Just put the machine in stopped state, keeping resources allocated
await _computeManagementClient.VirtualMachines.ShutdownAsync(_parameters.CloudServiceName, _parameters.CloudServiceName, vmName, shutdownParams);
wezwanie do kwerendy dla wszystkich wystąpień ról XXX_VirtualMachine
to klasa, która posiada imię i instancji status:
internal List<XXX_VirtualMachine> GetAllVirtualMachines()
{
List<XXX_VirtualMachine> vmList = new List<XXX_VirtualMachine>();
try
{
DeploymentGetResponse deployment;
deployment = _computeManagementClient.Deployments.GetByName(_parameters.CloudServiceName, _parameters.CloudServiceName);
for (int i = 0; i < deployment.RoleInstances.Count; i++)
{
vmList.Add(new XXX_VirtualMachine(deployment.RoleInstances[i].InstanceName, deployment.RoleInstances[i]));
}
}
catch (Exception e)
{
System.Windows.Forms.MessageBox.Show(e.Message);
}
return vmList;
}
To pytanie mnie intryguje, ale nie mam zbyt wiele czasu, aby to zbadać! Czy możesz umieścić razem małą aplikację konsolową, która pokazuje, co widzisz (coś, co mogę wpaść do VS i obejrzeć, kiedy mam godzinę) - Nie mogę obiecać, że coś znajdę! ale nigdy nie wiesz, –
Mogę umieścić aplikację razem, ale nie mogę udzielić Ci dostępu do moich maszyn Azure i certyfikatu zarządzania. Mogę utworzyć powłokę, w której podajesz nazwę usługi w chmurze i ścieżkę do certyfikatu do przetestowania, jeśli masz konto platformy Azure. Moje przeprosiny, ale mój zespół ds. Ryzyka związanego z bezpieczeństwem, byłyby mnie pełne, gdybym to zrobił. – Sorceri
W porządku, mam konta i środowiska testowe, na których mogę je uruchomić, ale nie czas na połączenie kodu. Miałem nadzieję, że ktoś to wymyśli! Ale skoro tego nie zrobię, rzucę to! –