Перейти к основному содержимому

Концепция

Операции и статусы

Многие операции в ZennoHosting асинхронны. Успешный write request часто означает только то, что сервер принял работу в обработку, а не то, что VM, сеть, backup или forwarding rule уже достигли финального состояния, необходимого вашему workflow.

Что означает accepted

  • 202 Accepted означает, что запрос принят в обработку.

  • commandId идентифицирует принятую команду, а не финальное состояние ресурса.

  • После write request клиент должен читать затронутый ресурс и проверять его текущие state fields.

  • Для VM поля operationStatus и bootStatus особенно важны до запуска follow-up automation.

  1. 1

    Отправьте mutating request

    Create, update, restore, attach и forwarding operations часто стартуют как асинхронная работа, а не как мгновенный переход состояния.

  2. 2

    Сохраните identifiers из accepted response

    Сохраните вернувшийся commandId и identifiers ресурсов, которые уже были известны из контекста запроса.

  3. 3

    Прочитайте затронутый ресурс

    Читайте состояние VM, сети, backup или public IP через соответствующий resource endpoint, а не делайте вывод об успехе только по write response.

  4. 4

    Интерпретируйте поля состояния

    Используйте status-related поля вроде operation, operationStatus, bootStatus и resource-specific statuses, чтобы понять, безопасно ли переходить к следующему действию.

Где это особенно важно

  • Создание VM, start, stop и reboot.
  • Создание private network и attach/detach VM в сети.
  • Создание backup и restore.
  • Создание, обновление и удаление правил port forwarding.

Практическое правило

Стройте automation вокруг наблюдаемого состояния ресурса, а не вокруг write acknowledgements. В ZennoHosting accepted response говорит, что работа началась. Resource representation говорит, завершилась ли она.

Связанные endpoint