При удалении vm в Azure последнее состояние, которое я получаю, - "Удаление", и это тоже в поле provisioningState. Как получить статус "Удален"?

Я использую Java API (Azure-Compute: версия 0.9.0) для выполнения операций VM. Я хочу убедиться, что облачная операция на ВМ выполнена успешно. Я получаю некоторые проблемы в операции удаления.

  • В то время как beginDeleting(async) VM, я получаю Future, и статус в DeleteOperationResponse равен Error, как только я получаю ответ после того, как будущее сделано.
  • Позже, после отправки beginDeleting(async), я получаю ВМ от VMGetResponse, а затем проверяю provisioningState через каждые 1 сек. После нескольких "Удаление" я получаю состояние "Ошибка".

Я ожидаю получить объект VM даже после завершения экземпляра со статусом как Удалено (или прекращено), как я получаю в Amazon. Так что я могу быть уверен, что моя облачная операция прошла успешно.

1 ответ

Решение

Любой вызов API Azure SDK для Java действительно вызывает связанные API Azure REST. Таким образом, в соответствии со ссылками REST API Удалить виртуальную машину и получить информацию о виртуальной машине, вы можете только получить статус ошибки, который приходит из ответа 404 Код состояния, как показано ниже, потому что ресурс был удален.

  1. Цитата из описания Response из Delete a virtual machine,

    Если ресурс не существует, возвращается 404 (NotFound).

  2. Цитата из описания Response из Get information about a virtual machine,

    в противном случае возвращается 404 (не найдено).

На ваш вопрос в комментарии, если вы хотите получить последний n Количество журналов, единственный способ - использовать REST API Azure Monitor в Java. На официальном веб-сайте Azure вы можете обратиться к приведенным ниже документам, чтобы узнать о службе Azure Monitor.

  1. Журналы аудита на портале предварительного просмотра Azure
  2. Начните работу с Azure Monitor
  3. Просмотр событий и журналов активности