Esta página descreve como gerenciar o ciclo de vida de uma operação de longa duração (LRO) no Gemini Enterprise.
Um objeto de operação de longa duração é retornado quando uma chamada
para um método pode demorar muito 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 acompanha 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. Isso significa que não é possível visualizar ou listar uma operação após esse período.
Listar operações de longa duração
A seguir, mostramos como listar as operações de um Google Cloud recurso.
REST
Para listar as operações de longa duração de um Google Cloud recurso, siga esta etapa:
Chame o
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: o ID do repositório de dados do Gemini Enterprise criado com seu mecanismo. No URL do Google Cloud console, o ID do repositório de dados aparece apósengines/e antes de/data.
Python
Antes de testar este exemplo, siga as instruções de configuração 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 Python do Gemini Enterprise.
Para autenticar no Gemini Enterprise, configure o Application Default Credentials. Se quiser mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Acessar detalhes sobre uma operação de longa duração
A seguir, mostramos como acessar detalhes sobre uma operação.
REST
Para acessar o status e os detalhes de uma operação de longa duração, siga estas etapas:
Encontre o nome da operação de uma destas duas maneiras:
Depois de fazer uma chamada para um método que retorna uma operação de longa duração, revise a resposta.
Por exemplo, se você chamar
documents.import, o início da resposta será parecido com 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 da operação. Não inclua as aspas ao copiar o nome da operação.Acesse o nome da operação listando operações de longa duração.
Chame o
operations.getmétodo no 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: forneça o nome da operação para a qual você precisa de informações. É possível encontrar o nome da operação listando operações de longa duração.As primeiras linhas da resposta do comando
GETsão parecidas com esta:{ "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 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 Python do Gemini Enterprise.
Para autenticar no Gemini Enterprise, configure o Application Default Credentials. Se quiser mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Pesquisar uma operação de longa duração
A seguir, mostramos como pesquisar o status de uma operação.
REST
Para pesquisar a operação de longa duração até que ela termine, siga estas etapas:
Execute o comando a seguir, que chama o
operations.getmétodo repetidamente, usando um recuo 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. É possível encontrar o nome da operação listando 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 pesquisa (
Control+Z) depois que o status mostrar"done": true.
Python
Antes de testar este exemplo, siga as instruções de configuração 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 Python do Gemini Enterprise.
Para autenticar no Gemini Enterprise, configure o Application Default Credentials. Se quiser mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Cancelar uma operação de longa duração
A seguir, mostramos como cancelar uma operação:
REST
Para cancelar uma operação de longa duração, siga estas etapas:
Chame o
operations.cancelmétodo:curl -X post \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://discoveryengine.googleapis.com/v1/OPERATION_NAME":cancelOPERATION_NAME: forneça o nome da operação que você quer cancelar. É possível encontrar o nome da operação listando 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 podem ser realizadas são as seguintes:
- Um erro com
"code": 400e"status": "FAILED_PRECONDITION"indica que a solicitação não pôde ser cancelada. Um cancelamento bem-sucedido resulta em um objeto JSON vazio. Para verificar o cancelamento:
- Use o
operations.getmétodo. Se a operação for cancelada, a resposta do
operations.getmétodo terá o erro"code": 1, que representa oCANCELLEDcódigo de status.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
- Um erro com
Python
Antes de testar este exemplo, siga as instruções de configuração 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 Python do Gemini Enterprise.
Para autenticar no Gemini Enterprise, configure o Application Default Credentials. Se quiser mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.