Gérer les opérations de longue durée

Cette page explique comment vérifier et gérer les opérations de longue durée dans Certificate Manager.

Lorsqu'une requête de modification dans Certificate Manager (par exemple, la création, la mise à jour ou la suppression d'une ressource) n'échoue pas immédiatement, l'API renvoie une opération de longue durée (LRO). Ces opérations suivent l'état des tâches de traitement qui prennent plus de temps. Par défaut, les commandes de mutation gcloud attendent la fin de l'opération, sauf si vous spécifiez l'option --async.

Vous pouvez utiliser la collection projects.locations.operations pour vérifier l'état des opérations.

Autorisations requises

Pour gérer les opérations de longue durée dans le projet cible, vous devez disposer de l'autorisation correspondant à la tâche que vous souhaitez effectuer :

  • certificatemanager.operations.get : récupère les détails d'une opération spécifique.
  • certificatemanager.operations.list : liste toutes les opérations dans un emplacement donné.
  • certificatemanager.operations.delete : supprime une ressource d'opération terminée (API uniquement).

Pour en savoir plus sur les rôles et les autorisations, consultez Rôles et autorisations.

Obtenir des informations sur une opération de longue durée

Lorsque vous effectuez un appel qui démarre une opération, par exemple la création d'un certificat, la réponse contient un nom d'opération au format projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID.

Pour vérifier si l'opération est terminée, demandez des détails sur l'opération cible. Si la réponse contient "done": false ou n'inclut pas le champ "done", l'opération est toujours en cours. Vérifiez à nouveau l'état jusqu'à ce que la réponse affiche "done": true.

gcloud

Pour décrire une opération de longue durée, utilisez la commande certificate-manager operations describe :

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

Remplacez les éléments suivants :

  • OPERATION_ID : ID de l'opération.
  • LOCATION : Google Cloud emplacement cible. L'emplacement par défaut est global.

API

Pour obtenir des informations sur une opération de longue durée, envoyez une requête GET à la méthode projects.locations.operations.get :

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

Remplacez les éléments suivants :

  • PROJECT_ID : ID de votre projet Google Cloud .
  • LOCATION : emplacement Google Cloud cible. L'emplacement par défaut est global.
  • OPERATION_ID : ID de l'opération.

Répertorier les opérations de longue durée

Vous pouvez lister les opérations pour trouver les ID d'opération et surveiller les modifications actives dans votre projet.

gcloud

Pour lister les opérations dans un emplacement donné, utilisez la commande certificate-manager operations list :

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

Remplacez les éléments suivants :

  • LOCATION : Google Cloud emplacement cible. L'emplacement par défaut est global.

API

Pour lister les opérations dans un emplacement, envoyez une requête GET à la méthode projects.locations.operations.list :

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

Remplacez les éléments suivants :

  • PROJECT_ID : ID de votre projet Google Cloud .
  • LOCATION : emplacement Google Cloud cible. L'emplacement par défaut est global.

Supprimer une opération de longue durée terminée

Vous pouvez supprimer une ressource d'opération terminée si vous n'avez plus besoin du résultat. La suppression d'une opération terminée ne supprime que l'enregistrement de l'opération. Elle n'annule pas les modifications apportées par l'opération.

Vous ne pouvez pas supprimer d'opérations à l'aide de commandes gcloud. Utilisez plutôt l'API REST.

API

Pour supprimer une opération terminée, envoyez une requête DELETE à la méthode projects.locations.operations.delete :

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

Remplacez les éléments suivants :

  • PROJECT_ID : ID de votre projet Google Cloud .
  • LOCATION : emplacement Google Cloud cible. L'emplacement par défaut est global.
  • OPERATION_ID : ID de l'opération.

Règle de conservation

Certificate Manager conserve et supprime automatiquement les LRO terminées selon les règles suivantes, par ordre de priorité :

  1. Moins d'une heure : si une opération s'est terminée il y a moins d'une heure, Certificate Manager la conserve.
  2. Plus d'une semaine : si une opération s'est terminée il y a plus d'une semaine, Certificate Manager la supprime.
  3. Limite maximale : si une opération s'est terminée il y a entre une heure et une semaine, Certificate Manager conserve jusqu'à 5 000 des opérations terminées les plus récentes dans chaque projet et supprime toutes les opérations terminées plus anciennes.

Les exemples suivants montrent comment ces règles s'appliquent :

  • Si votre projet comporte 10 000 opérations terminées datant toutes de moins d'une heure, Certificate Manager conserve les 10 000 opérations.
  • Si votre projet comporte 1 000 opérations terminées datant toutes de plus d'une semaine, Certificate Manager supprime les 1 000 opérations.
  • Si votre projet comporte 10 000 opérations terminées datant toutes d'une heure à une semaine, Certificate Manager ne conserve que les 5 000 opérations les plus récentes.