Поделиться через


Отслеживание асинхронных операций с помощью Azure CLI

Некоторые операции Azure CLI асинхронны. Для отслеживания состояния асинхронной операции operationStatuses можно использовать ресурс. Асинхронные команды можно запускать с включенным флагом --debug . При --debug указании ход выполнения запроса можно отслеживать. URL-адрес состояния операции можно найти, проверив Azure-AsyncOperation или Location заголовок в ответе HTTP на запрос на создание.

... many lines of logged information ...

urllib3.connectionpool: https://management.azure.com:443 "PUT /subscriptions/.../resourceGroups/.../providers/Microsoft.NetworkCloud/clusters/.../metricsConfigurations/default?api-version=2022-12-12-preview HTTP/1.1" 201 926
cli.azure.cli.core.util: Response status: 201
cli.azure.cli.core.util: Response headers:

... several lines of http headers of the response ...

cli.azure.cli.core.util:     'Azure-AsyncOperation': 'https://management.azure.com/subscriptions/.../providers/Microsoft.NetworkCloud/locations/EASTUS/operationStatuses/12312312-1231-1231-1231-123123123123*99399E995...?api-version=2022-12-12-preview'

... remaining http headers of the response and more lines of logging ...

Используя значение, полученное ранее: https://management.azure.com/subscriptions/.../providers/Microsoft.NetworkCloud/locations/EASTUS/operationStatuses/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e*99399E995...?api-version=2022-12-12-previewвызов Azure CLI az rest можно вывести для получения состояния операции.

az rest -m get -u "https://management.azure.com/subscriptions/.../providers/Microsoft.NetworkCloud/locations/EASTUS/operationStatuses/12312312-1231-1231-1231-123123123123*99399E995...?api-version=2022-12-12-preview"

Этот запрос вернет результат состояния операции, который можно повторно выполнить с помощью той же команды, пока состояние не достигнет окончательного Succeeded состояния или Failed. На этом этапе запрошенная операция прекратилась.

{
  "endTime": "2023-02-08T17:38:31.2042934Z",
  "error": {},
  "id": "subscriptions/.../providers/Microsoft.NetworkCloud/locations/EASTUS/operationStatuses/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e*99399E995...?api-version=2022-12-12-preview",
  "name": "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e*99399E995...",
  "properties": null,
  "resourceId": "subscriptions/.../resourceGroups/.../providers/Microsoft.NetworkCloud/clusters/.../metricsConfigurations/default?api-version=2022-12-12-preview",
  "startTime": "2023-02-08T17:38:24.7576911Z",
  "status": "Succeeded"
}