Cette page explique comment gérer le cycle de vie d'une opération de longue durée (LRO) dans Gemini Enterprise.
Un objet d'opération de longue durée est renvoyé lorsqu'un appel
à une méthode peut prendre un certain temps. Par exemple, l'API Gemini Enterprise 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 Gemini Enterprise pour vérifier l'état des opérations. Vous pouvez également répertorier ou interroger des opérations.
L'enregistrement d'une opération est conservé pendant environ 30 jours après la fin de l'opération. Cela signifie que vous ne pouvez pas afficher ni répertorier une opération après ce délai.
Répertorier les opérations de longue durée
Les exemples suivants montrent comment répertorier les opérations d'une Google Cloud ressource.
REST
Pour répertorier les opérations de longue durée d'une Google Cloud ressource, procédez comme suit :
Appelez la
operations.listméthode :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 Gemini Enterprise créé avec votre moteur. Dans l'URL de la Google Cloud console, l'ID du data store apparaît aprèsengines/et avant/data.
Python
Avant d'essayer cet exemple, suivez les instructions de configuration Python décrites dans le guide de démarrage rapide de Gemini Enterprise à l'aide des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Python Gemini Enterprise.
Pour vous authentifier auprès de Gemini Enterprise, configurez le service 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 informations sur une opération.
REST
Pour connaître l'état d'une opération de longue durée et afficher des informations à son sujet, 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
namede 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
operations.getméthode 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. Vous pouvez trouver le nom de l'opération en répertoriant les opérations de longue durée.Les premières lignes de la réponse de la commande
GETse 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
Avant d'essayer cet exemple, suivez les instructions de configuration Python décrites dans le guide de démarrage rapide de Gemini Enterprise à l'aide des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Python Gemini Enterprise.
Pour vous authentifier auprès de Gemini Enterprise, configurez le service 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 se termine, procédez comme suit :
Exécutez la commande suivante, qui appelle la
operations.getméthode de manière répétée, avec 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; \ doneOPERATION_NAME: indiquez le nom de l'opération que vous souhaitez interroger. Vous pouvez trouver le nom de l'opération en répertoriant 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 affiche"done": true.
Python
Avant d'essayer cet exemple, suivez les instructions de configuration Python décrites dans le guide de démarrage rapide de Gemini Enterprise à l'aide des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Python Gemini Enterprise.
Pour vous authentifier auprès de Gemini Enterprise, configurez le service 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
operations.cancelméthode :curl -X post \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://discoveryengine.googleapis.com/v1/OPERATION_NAME":cancelOPERATION_NAME: indiquez le nom de l'opération que vous souhaitez annuler. Vous pouvez trouver le nom de l'opération en répertoriant 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. Les résultats que vous voyez et les actions que vous pouvez effectuer sont les suivants :
- Une erreur avec
"code": 400et"status": "FAILED_PRECONDITION"indique que la requête n'a pas pu être annulée. Une annulation réussie génère un objet JSON vide. Pour vérifier l'annulation :
- Utilisez la
operations.getméthode. Si l'opération est annulée, la réponse de la
operations.getméthode comporte l'erreur"code": 1, qui représente leCANCELLEDcode d'état.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
- Une erreur avec
Python
Avant d'essayer cet exemple, suivez les instructions de configuration Python décrites dans le guide de démarrage rapide de Gemini Enterprise à l'aide des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Python Gemini Enterprise.
Pour vous authentifier auprès de Gemini Enterprise, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.