Condividi tramite


Rilevamento delle operazioni asincrone con l'interfaccia della riga di comando di Azure

Alcune operazioni dell'interfaccia della riga di comando di Azure sono asincrone. Per tenere traccia dello stato di un'operazione asincrona, è possibile usare la operationStatuses risorsa. I comandi asincroni possono essere eseguiti con un --debug flag abilitato. Quando si specifica --debug, è possibile monitorare lo stato della richiesta. È possibile trovare l'URL dello stato dell'operazione esaminando l'intestazione Azure-AsyncOperation o Location nella risposta HTTP alla richiesta di creazione.

... 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 ...

Usando il valore precedente: https://management.azure.com/subscriptions/.../providers/Microsoft.NetworkCloud/locations/EASTUS/operationStatuses/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e*99399E995...?api-version=2022-12-12-preview, è possibile eseguire una chiamata all'interfaccia della riga di comando di Azure az rest per recuperare lo stato dell'operazione.

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"

Questa richiesta restituirà un risultato dello stato dell'operazione che può essere rieseguito usando lo stesso comando fino a quando lo stato non raggiunge lo stato finale di Succeeded o Failed. A questo punto, l'operazione richiesta è stata interrotta.

{
  "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"
}