En esta página, se describe cómo administrar el ciclo de vida de una operación de larga duración (LRO) en Gemini Enterprise.
Se muestra un objeto de operación de larga duración cuando una llamada
a un método puede tardar mucho tiempo en completarse. Por ejemplo, la API de Gemini Enterprise crea una operación de larga duración cuando llamas a
documents.import
a través de la API o las bibliotecas cliente. La operación realiza un seguimiento del estado del trabajo de procesamiento.
Puedes usar los métodos de operaciones de larga duración que proporciona la API de Gemini Enterprise para verificar el estado de las operaciones. También puedes enumerar o sondear operaciones.
El registro de una operación se conserva aproximadamente 30 días después de que esta finaliza, lo que significa que no puedes ver ni enumerar una operación después de ese punto.
Enumerar las operaciones de larga duración
A continuación, se muestra cómo enumerar las operaciones de un Google Cloud recurso.
REST
Para enumerar las operaciones de larga duración de un Google Cloud recurso, sigue este paso:
Llama al
operations.listmétodo: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: Es el ID del almacén de datos de Gemini Enterprise que se creó con tu motor. En la URL de la consola de Google Cloud , el ID del almacén de datos aparece después deengines/y antes de/data.
Python
Antes de probar este código de muestra, sigue las instrucciones de configuración Python que se encuentran en la Guía de inicio rápido de Gemini Enterprise sobre cómo usar las bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de PythonGemini Enterprise.
Para autenticarte en Gemini Enterprise, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Obtén detalles sobre una operación de larga duración
A continuación, se muestra cómo obtener detalles sobre una operación.
REST
Para obtener el estado y ver los detalles de una operación de larga duración, sigue estos pasos:
Busca el nombre de la operación de una de las siguientes maneras:
Después de realizar una llamada a un método que muestra una operación de larga duración, revisa la respuesta.
Por ejemplo, si llamas a
documents.import, el inicio de la respuesta se ve de la siguiente manera:{ "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", } } ] }El valor
namede la respuesta proporciona el nombre de la operación, que se puede usar para consultar el estado de la operación. No incluyas las comillas cuando copies el nombre de la operación.Obtén el nombre de la operación enumerando las operaciones de larga duración.
Llama al
operations.getmétodo en el recurso que creó la operación:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://discoveryengine.googleapis.com/v1/OPERATION_NAME"OPERATION_NAME: Proporciona el nombre de la operación para la que necesitas información. Puedes encontrar el nombre de la operación enumerando las operaciones de larga duración.Las primeras líneas de la respuesta del comando
GETse ven de la siguiente manera:{ "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
Antes de probar este código de muestra, sigue las instrucciones de configuración Python que se encuentran en la Guía de inicio rápido de Gemini Enterprise sobre cómo usar las bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de PythonGemini Enterprise.
Para autenticarte en Gemini Enterprise, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Sondea una operación de larga duración
A continuación, se muestra cómo sondear el estado de una operación.
REST
Para sondear la operación de larga duración hasta que finalice, sigue estos pasos:
Ejecuta el siguiente comando, que llama al
operations.getmétodo de forma repetida, con una retirada de 10 segundos entre cada solicitud: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: Proporciona el nombre de la operación que deseas sondear. Puedes encontrar el nombre de la operación enumerando las operaciones de larga duración. Por ejemplo,projects/12345/locations/global/collections/default_collection/dataStores/my-datastore_4321/branches/0/operations/import-documents-56789.Detén el trabajo de sondeo (
Control+Z) después de que el estado muestre"done": true.
Python
Antes de probar este código de muestra, sigue las instrucciones de configuración Python que se encuentran en la Guía de inicio rápido de Gemini Enterprise sobre cómo usar las bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de PythonGemini Enterprise.
Para autenticarte en Gemini Enterprise, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Cancelar una operación de larga duración
A continuación, se muestra cómo cancelar una operación:
REST
Para cancelar una operación de larga duración, sigue estos pasos:
Llama al
operations.cancelmétodo:curl -X post \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://discoveryengine.googleapis.com/v1/OPERATION_NAME":cancelOPERATION_NAME: Proporciona el nombre de la operación que deseas cancelar. Puedes encontrar el nombre de la operación enumerando las operaciones de larga duración. Por ejemplo,projects/12345/locations/global/collections/default_collection/dataStores/my-datastore_4321/branches/0/operations/import-documents-56789.Después de realizar la llamada a la API, el servidor intenta cancelar la operación. Los resultados que ves y las acciones que puedes realizar son los siguientes:
- Un error con
"code": 400y"status": "FAILED_PRECONDITION"indica que no se pudo cancelar la solicitud. Una cancelación correcta genera un objeto JSON vacío. Para verificar la cancelación, haz lo siguiente:
- Usa el
operations.getmétodo. Si la operación se cancela correctamente, la respuesta del
operations.getmétodo tiene el error"code": 1, que representa elCANCELLEDcódigo de estado.Por ejemplo:
{ "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." } }
- Usa el
- Un error con
Python
Antes de probar este código de muestra, sigue las instrucciones de configuración Python que se encuentran en la Guía de inicio rápido de Gemini Enterprise sobre cómo usar las bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de PythonGemini Enterprise.
Para autenticarte en Gemini Enterprise, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.