Gestione delle operazioni a lunga esecuzione

Questa pagina descrive come controllare e gestire le operazioni a lunga esecuzione in Certificate Manager.

Quando una richiesta di modifica in Certificate Manager, ad esempio la creazione, l'aggiornamento o l'eliminazione di una risorsa, non va immediatamente in errore, l'API restituisce un'operazione a lunga esecuzione (LRO). Queste operazioni monitorano lo stato delle attività di elaborazione che richiedono più tempo per essere completate. Per impostazione predefinita, i comandi di mutazione gcloud attendono il completamento dell'operazione, a meno che non specifichi il flag --async.

Puoi utilizzare la raccolta projects.locations.operations per controllare lo stato delle operazioni.

Autorizzazioni obbligatorie

Per gestire le operazioni a lunga esecuzione nel progetto di destinazione, devi disporre dell'autorizzazione corrispondente all'attività che vuoi eseguire:

  • certificatemanager.operations.get: recupera i dettagli di un'operazione specifica.
  • certificatemanager.operations.list: elenca tutte le operazioni in una determinata località.
  • certificatemanager.operations.delete: elimina una risorsa di operazione completata (solo API).

Per saperne di più su ruoli e autorizzazioni, consulta Ruoli e autorizzazioni.

Ottieni i dettagli di un'operazione a lunga esecuzione

Quando effettui una chiamata che avvia un'operazione, ad esempio la creazione di un certificato, la risposta contiene un nome dell'operazione nel formato: projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID.

Per verificare se l'operazione è stata completata, richiedi i dettagli sull'operazione di destinazione. Se la risposta contiene "done": false o non include il campo "done", l'operazione è ancora in corso. Controlla di nuovo lo stato finché la risposta non mostra "done": true.

gcloud

Per descrivere un'operazione a lunga esecuzione, utilizza il comando certificate-manager operations describe:

gcloud certificate-manager operations describe OPERATION_ID \
    --location="LOCATION"

Sostituisci quanto segue:

  • OPERATION_ID: l'ID dell'operazione.
  • LOCATION: la località Google Cloud target. La località predefinita è global.

API

Per ottenere i dettagli di un'operazione a lunga esecuzione, invia una richiesta GET al metodo projects.locations.operations.get:

GET https://certificatemanager.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID

Sostituisci quanto segue:

  • PROJECT_ID: l'ID del tuo progetto Google Cloud .
  • LOCATION: la località Google Cloud target. La località predefinita è global.
  • OPERATION_ID: l'ID dell'operazione.

Elenca operazioni a lunga esecuzione

Puoi elencare le operazioni per trovare gli ID operazione e monitorare le modifiche attive nel tuo progetto.

gcloud

Per elencare le operazioni in una determinata località, utilizza il comando certificate-manager operations list:

gcloud certificate-manager operations list \
    --location="LOCATION"

Sostituisci quanto segue:

  • LOCATION: la località Google Cloud target. La località predefinita è global.

API

Per elencare le operazioni in una località, invia una richiesta GET al metodo projects.locations.operations.list:

GET https://certificatemanager.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/operations

Sostituisci quanto segue:

  • PROJECT_ID: l'ID del tuo progetto Google Cloud .
  • LOCATION: la località Google Cloud target. La località predefinita è global.

Elimina un'operazione a lunga esecuzione completata

Puoi eliminare una risorsa di operazione completata se non hai più bisogno del risultato. L'eliminazione di un'operazione completata rimuove solo il record dell'operazione e non annulla o inverte le modifiche apportate dall'operazione.

Non puoi eliminare le operazioni utilizzando i comandi gcloud. Utilizza invece l'API REST.

API

Per eliminare un'operazione completata, invia una richiesta DELETE al metodo projects.locations.operations.delete:

DELETE https://certificatemanager.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID

Sostituisci quanto segue:

  • PROJECT_ID: l'ID del tuo progetto Google Cloud .
  • LOCATION: la località Google Cloud target. La località predefinita è global.
  • OPERATION_ID: l'ID dell'operazione.

Criterio di conservazione

Certificate Manager conserva ed elimina automaticamente le LRO completate in base alle seguenti regole, in ordine di precedenza:

  1. Meno di 1 ora fa: se un'operazione è stata completata meno di 1 ora fa, Certificate Manager la conserva.
  2. Più di 1 settimana: se un'operazione è stata completata più di 1 settimana fa, Certificate Manager la elimina.
  3. Limite massimo: se un'operazione è stata completata tra 1 ora e 1 settimana fa, Certificate Manager conserva fino a 5000 delle operazioni completate più di recente in ogni progetto ed elimina quelle completate meno di recente.

I seguenti esempi mostrano come vengono applicate queste regole:

  • Se il tuo progetto ha 10.000 operazioni completate che hanno tutte meno di 1 ora, Certificate Manager conserva tutte le 10.000 operazioni.
  • Se il tuo progetto ha 1000 operazioni completate che risalgono tutte a più di una settimana fa, Certificate Manager le elimina tutte.
  • Se il tuo progetto ha 10.000 operazioni completate che risalgono tutte a un periodo compreso tra 1 ora e 1 settimana, Certificate Manager conserva solo le 5000 operazioni più recenti.