Cette page explique comment gérer le cycle de vie d'une opération de longue durée (LRO) dans les applications d'IA.
Un objet opération de longue durée est renvoyé lorsqu'un appel à une méthode peut prendre beaucoup de temps. Par exemple, l'API AI Applications crée une opération de longue durée lorsque vous appelez documents.import
via l'API ou les bibliothèques clientes. L'opération suit l'état du job de traitement.
Vous pouvez utiliser les méthodes d'opérations de longue durée fournies par l'API AI Applications pour vérifier l'état des opérations. Vous pouvez également lister ou interroger les opérations.
L'enregistrement associé à une opération est conservé pendant environ 30 jours après son exécution, ce qui signifie que vous ne pouvez pas afficher ni répertorier une opération après cette date.
Répertorier les opérations de longue durée
Les exemples suivants montrent comment lister les opérations pour une ressource Google Cloud.
REST
Pour lister les opérations de longue durée d'une ressource Google Cloud , procédez comme suit :
Appelez la méthode
operations.list
:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID/operations"
DATA_STORE_ID
: ID du data store Applications d'IA créé avec votre moteur. Dans l'URL de la console Google Cloud , l'ID du data store apparaît aprèsengines/
et avant/data
.
Python
Pour en savoir plus, consultez la documentation de référence de l'API AI Applications Python.
Pour vous authentifier auprès des applications d'IA, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Obtenir des informations sur une opération de longue durée
Les exemples suivants montrent comment obtenir des détails sur une opération.
REST
Pour connaître l'état d'une opération de longue durée et afficher ses détails, procédez comme suit :
Recherchez le nom de l'opération de l'une des deux manières suivantes :
Après avoir appelé une méthode qui renvoie une opération de longue durée, examinez la réponse.
Par exemple, si vous appelez
documents.import
, le début de la réponse se présente comme suit :{ "operations": [ { "name": "projects/12345/locations/global/collections/default_collection/dataStores/my-datastore_4321/branches/0/operations/import-documents-56789", "metadata": { "@type": "type.googleapis.com/google.cloud.discoveryengine.v1.ImportDocumentsMetadata", } } ] }
La valeur
name
de la réponse fournit le nom de l'opération, qui peut être utilisé pour interroger l'état de l'opération. N'incluez pas les guillemets lorsque vous copiez le nom de l'opération.Obtenez le nom de l'opération en répertoriant les opérations de longue durée.
Appelez la méthode
operations.get
sur la ressource qui a créé l'opération :curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://discoveryengine.googleapis.com/v1/OPERATION_NAME"
OPERATION_NAME
: indiquez le nom de l'opération pour laquelle vous avez besoin d'informations. Pour trouver le nom de l'opération, listez les opérations de longue durée.Les premières lignes de la réponse de la commande
GET
se présentent comme suit :{ "name": "projects/12345/locations/global/collections/default_collection/dataStores/my-datastore_4321/branches/0/operations/import-documents-56789", "metadata": { "@type": "type.googleapis.com/google.cloud.discoveryengine.v1.ImportDocumentsMetadata" } }
Python
Pour en savoir plus, consultez la documentation de référence de l'API AI Applications Python.
Pour vous authentifier auprès des applications d'IA, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Interroger une opération de longue durée
Les exemples suivants montrent comment interroger l'état d'une opération.
REST
Pour interroger l'opération de longue durée jusqu'à ce qu'elle soit terminée, procédez comme suit :
Exécutez la commande suivante, qui appelle la méthode
operations.get
à plusieurs reprises, en utilisant un intervalle de 10 secondes entre chaque requête :while true; \ do curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://discoveryengine.googleapis.com/v1/OPERATION_NAME"; \ sleep 10; \ done
OPERATION_NAME
: indiquez le nom de l'opération que vous souhaitez interroger. Pour trouver le nom de l'opération, listez les opérations de longue durée. Par exemple,projects/12345/locations/global/collections/default_collection/dataStores/my-datastore_4321/branches/0/operations/import-documents-56789
.Arrêtez le job d'interrogation (
Control+Z
) une fois que l'état est"done": true
.
Python
Pour en savoir plus, consultez la documentation de référence de l'API AI Applications Python.
Pour vous authentifier auprès des applications d'IA, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Annuler une opération de longue durée
Pour annuler une opération, procédez comme suit :
REST
Pour annuler une opération de longue durée, procédez comme suit :
Appelez la méthode
operations.cancel
:curl -X post \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://discoveryengine.googleapis.com/v1/OPERATION_NAME":cancel
OPERATION_NAME
: indiquez le nom de l'opération que vous souhaitez annuler. Pour trouver le nom de l'opération, listez les opérations de longue durée. Par exemple,projects/12345/locations/global/collections/default_collection/dataStores/my-datastore_4321/branches/0/operations/import-documents-56789
.Une fois l'appel d'API effectué, le serveur tente d'annuler l'opération. Voici les résultats que vous pouvez obtenir et les actions que vous pouvez effectuer :
- Une erreur avec
"code": 400
et"status": "FAILED_PRECONDITION"
indique que la demande n'a pas pu être annulée. Une annulation réussie renvoie un objet JSON vide. Pour vérifier l'annulation :
- Utilisez la méthode
operations.get
. Si l'opération est annulée, la réponse de la méthode
operations.get
comporte l'erreur"code": 1
, qui représente le code d'étatCANCELLED
.Exemple :
{ "name": "projects/12345/locations/global/collections/default_collection/dataStores/my-datastore_4321/branches/0/operations/import-documents-56789", "metadata": { "@type": "type.googleapis.com/google.cloud.discoveryengine.v1alpha.ImportDocumentsMetadata", "createTime": "2025-04-28T21:29:21.199190Z", "updateTime": "2025-04-28T21:31:29.076865Z" }, "done": true, "error": { "code": 1, "message": "Operation projects/12345/locations/global/collections/default_collection/dataStores/my-datastore_4321/branches/0/operations/import-documents-56789 is cancelled." } }
- Utilisez la méthode
- Une erreur avec
Python
Pour en savoir plus, consultez la documentation de référence de l'API AI Applications Python.
Pour vous authentifier auprès des applications d'IA, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.