Nesta página, descrevemos como gerenciar o ciclo de vida de uma operação de longa duração (LRO, na sigla em inglês) no Gemini Enterprise.
Um objeto de operação de longa duração é retornado quando uma chamada
para um método pode levar muito tempo para ser concluída. Por exemplo, a API Gemini Enterprise cria uma operação de longa duração quando você chama
documents.import
pela API ou pelas bibliotecas de cliente. A operação rastreia o status do job de processamento.
É possível usar os métodos de operações de longa duração fornecidos pela API Gemini Enterprise para verificar o status das operações. Também é possível listar ou pesquisar operações.
O registro de uma operação é mantido por aproximadamente 30 dias após a conclusão dela, ou seja, não é possível visualizar ou listar uma operação após esse período.
Listar operações de longa duração
Veja a seguir como listar as operações de um recurso Google Cloud.
REST
Para listar as operações de longa duração de um recurso do Google Cloud , siga esta etapa:
Chame o método
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: o ID do repositório de dados do Gemini Enterprise que foi criado com seu mecanismo. No URL do console do Google Cloud , o ID do repositório de dados aparece depois deengines/e antes de/data.
Python
Antes de testar este exemplo, siga as instruções de configuração do Python no guia de início rápido do Gemini Enterprise: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Gemini Enterprise Python.
Para se autenticar no Gemini Enterprise, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Acessar detalhes sobre uma operação de longa duração
Veja a seguir como receber detalhes sobre uma operação.
REST
Para conferir o status e os detalhes de uma operação de longa duração, siga estas etapas:
Encontre o nome da operação de uma das seguintes maneiras:
Depois de chamar um método que retorna uma operação de longa duração, analise a resposta.
Por exemplo, se você chamar
documents.import, o início da resposta será semelhante a este:{ "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", } } ] }O valor
namena resposta fornece o nome da operação, que pode ser usado para consultar o status de funcionamento da operação. Não inclua as aspas ao copiar o nome da operação.Para saber o nome da operação, liste as operações de longa duração.
Chame o método
operations.getno recurso que criou a operação:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://discoveryengine.googleapis.com/v1/OPERATION_NAME"OPERATION_NAME: informe o nome da operação sobre a qual você precisa de informações. Para encontrar o nome da operação, liste as operações de longa duração.As primeiras linhas da resposta do comando
GETserão parecidas com estas:{ "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 testar este exemplo, siga as instruções de configuração do Python no guia de início rápido do Gemini Enterprise: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Gemini Enterprise Python.
Para se autenticar no Gemini Enterprise, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Pesquisar uma operação de longa duração
Veja a seguir como pesquisar o status de uma operação.
REST
Para consultar a operação de longa duração até que ela seja concluída, siga estas etapas:
Execute o comando a seguir, que chama o método
operations.getrepetidamente, usando um backoff de 10 segundos entre cada solicitação: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: forneça o nome da operação que você quer pesquisar. Para encontrar o nome da operação, liste as operações de longa duração. Por exemplo,projects/12345/locations/global/collections/default_collection/dataStores/my-datastore_4321/branches/0/operations/import-documents-56789.Interrompa o job de sondagem (
Control+Z) depois que o status mostrar"done": true.
Python
Antes de testar este exemplo, siga as instruções de configuração do Python no guia de início rápido do Gemini Enterprise: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Gemini Enterprise Python.
Para se autenticar no Gemini Enterprise, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Cancelar uma operação de longa duração
Veja a seguir como cancelar uma operação:
REST
Para cancelar uma operação de longa duração, siga estas etapas:
Chame o método
operations.cancel:curl -X post \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://discoveryengine.googleapis.com/v1/OPERATION_NAME":cancelOPERATION_NAME: informe o nome da operação que você quer cancelar. Para encontrar o nome da operação, liste as operações de longa duração. Por exemplo,projects/12345/locations/global/collections/default_collection/dataStores/my-datastore_4321/branches/0/operations/import-documents-56789.Depois que a chamada de API é feita, o servidor tenta cancelar a operação. Os resultados que você vê e as ações que pode realizar são os seguintes:
- Um erro com
"code": 400e"status": "FAILED_PRECONDITION"indica que não foi possível cancelar a solicitação. Um cancelamento bem-sucedido resulta em um objeto JSON vazio. Para verificar o cancelamento:
- Use o método
operations.get. Se a operação for cancelada, a resposta do método
operations.getterá o erro"code": 1, que representa o código de statusCANCELLED.Exemplo:
{ "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." } }
- Use o método
- Um erro com
Python
Antes de testar este exemplo, siga as instruções de configuração do Python no guia de início rápido do Gemini Enterprise: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Gemini Enterprise Python.
Para se autenticar no Gemini Enterprise, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.